1.前言
JSONObject这个类是alibaba fastjson 这个jar下面的
这个jar与import net.sf.json.JSONObject 之间有区别,用法不太一样
这两个jar对JSON的处理至关重要,可以深入了解
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
2.代码功能讲解
(1) JSONObject jsonObject = getjson.getJSONObject("data");
从一个JSONObject里面获取一个JSONObject
(2)Object[] object = jsonObject.entrySet().toArray();
将JSONObject里面的HashMap转换为JSONArray 数组
(3)JSONObject timer = (JSONObject)JSON.toJSON(jsonArray[1]);
将Object类型的值转换为JSONObject类型
(4) JSONArray jsonArray = (pre.getJSONArray("son"));
获取JSONObject内部的HashMap的一个key然后得到一个JSONObject对象
(5)JSONObject object = jsonArray.getJSONObject(0);
获取JSONArray 数组里面的索引的值返回一个JSONObject类型的值
3.一些类型之间的转换
(1)json String 转JSONObject类型
JSONObject as = JSONObject.fromObject(json);
JSONObject直接toString就是jsonString
(2)String JSONObject JSONArray 转换(JSON使用阿里的fastJson为依赖包、与前面一样)
String转JSONObject
前言:String 是JSONObject格式的字符串
JSONObject jsonObject = JSONObject.parseObject(String);
String转JSONArray
前言:String 是JSONArray格式的字符串
JSONArray jsonArray= JSONArray.parseArray(String);
JSONObject中的数组提取为JSONArray
JSONArray jsonArray= jsonObject.getJSONArray("Result");
JSONObject获取value
1、object.getString("key")
2、object.get("key")
获取JSONArray的key value
JSONArray dateArr = new JSONArray();
Set<String> key = dateArr .keySet();
for (String keyObj:key) {
JSONObject hisData = dateArr.getJSONObject(keyObj);
}
遍历JSONArray
第一种for循环
JSONArray seriesArr = new JSONArray();
for(int i=0;i<seriesArr .size();i++){
JSONObject object = eggsArr.getJSONObject(i);
}
第二种for增强
JSONArray pzListArr = new JSONArray();
for (Object obj:pzListArr) {
JSONObject dataObj = JSONObject.parseObject(obj.toString());
}
自动过滤参数为null的数值
Map<String, Object> paraMap = new HashMap<String, Object>();
JSONObject.toJSONString(paraMap);