后端数据交互时常需处理各种需要处理的json数据,对数据的转换和提取经常会碰到,下面是一些常用的方法
- JSONObject类
- map.toString()
- JSONObject.toJSONString( map )
- JSONObject.toString
Map<String, Integer> map = new HashMap<>();
map.put( "staff9", 1 );
map.put( "staff1", 3 );
System.out.println( map.toString() );// 结果是 {staff9=1, staff1=3}
// JSONObject 要导入net.sf.json.JSONObject包;
System.out.println( JSONObject.toJSONString( map ) );// 结果是 {"staff9":1,"staff1":3}
若已将map转化为json,可用toString方法
JSONObject mapObject=JSONObject.fromObject(map);
System.out.println(mapObject.toString());
-
java对象转化成json数组
- 利用字符串的改变
public static String toJsonArray(List<Object> list){ if(null == list || list.size() == 0) throw new RuntimeException("数组列表为空!"); StringBuilder sb = new StringBuilder(); int size = list.size(); sb.append("{"); sb.append("personArr:["); for(int i = 0 ; i < size; i++){ sb.append(list.get(i).toString()); if( size > 1 && i < (size-1)){ sb.append(","); } } sb.append("]}"); return sb.toString(); } }
- 若将数组转化为json数组直接调用JSONObject
JSONObject json = JSONObject.fromObject(obj);
-
将json字符串转换为java对象
//同样先将json字符串转换为json对象,再将json对象转换为java对象
JSONObject obj = newJSONObject().fromObject(jsonStr);//将json字符串转换为json对象
//将json对象转换为java对象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
- 将java对象转换为json字符串
//先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
String str = json.toString();//将json对象转换为字符串
- 在Java后台遍历json https://ask.csdn.net/questions/665332