1.net.sf.json
需要commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.1-jdk15.jar相关的包。
Map<String ,Object> map =new HashMap<String, Object>();
map.put("retCode", "0");
map.put("retMsg", "成功");
String s = "{\"error\":0,\"status\":\"success\",\"results\":[{\"currentCity\":\"青岛\",\"index\":[{\"title\":\"穿衣\",\"zs\":\"较冷\",\"tipt\":\"穿衣指数\",\"des\":\"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。\"},{\"title\":\"紫外线强度\",\"zs\":\"最弱\",\"tipt\":\"紫外线强度指数\",\"des\":\"属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。\"}],}]}";
//解析 将map转换成jsonObject
JSONObject jsonObj=JSONObject.fromObject(map); //{"retCode":"0"}
String json1=(String) jsonObj.get("retCode"); //0
// list转jsonArray results中的内容带有中括号[],所以要转化为JSONArray类型的对象
JSONObject jsonObject = JSONObject.fromObject(s);
net.sf.json.JSONArray jsonArr2=jsonObject.getJSONArray("results");
2.com.alibaba.fastjson
//解析 将map转换成jsonObject
com.alibaba.fastjson.JSONObject jsonObj2= com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSON(map).toString());
String json3=(String) jsonObj2.get("retCode");//0
// list转jsonArray
List<Object> list=new ArrayList<Object>();
com.alibaba.fastjson.JSONArray jsonArr= com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(list));
取json字符串的值:
String strObject="{\"first\":{\"address\":\"中国上海\",\"age\":\"23\",\"name\":\"JSON\"}}"; JSONObject object=JSONObject.fromObject(strObject); System.out.println(object.getJSONObject("first").getString("address"));