JSON在java中的使用
方法:
JSON格式:{key:value,key:value,...} [{},{},...]
JSONObject JSON格式对象
JSONArray 存储多个JSON格式的对象
JSON:提供了javabean <--> JSONString
代码:
Weather w1=new Weather();
w1.setCity("西安");
w1.setWeather("晴朗");
w1.setTemperature("39°C");
w1.setWind("无风");//1.toJSONString() 将javaBean转JSON格式字符串
String json=JSON.toJSONString(w1);
System.out.println(json);
String jsonStr="{\"city\":\"岷县\",\"temperature\":\"19°C\",\"weather\":\"晴朗\",\"wind\":\"二级\"}";//将JSON格式的字符串转为JSON格式的对象
JSONObject jsonObject=JSON.parseObject(jsonStr);
System.out.println(jsonObject.get("city"));//将JSON格式的字符串转成javaBean对象
Weather weather=JSON.parseObject(jsonStr,Weather.class);
System.out.println(weather);Weather w2=JSON.parseObject(jsonStr,new TypeReference<Weather>(){});
System.out.println(w2);
String jsonStr="[{\"city\":\"西安\",\"temperature\":\"39°C\",\"weather\":\"晴朗\",\"wind\":\"无风\"},{\"city\":\"岷县\",\"temperature\":\"18°C\",\"weather\":\"晴朗\",\"wind\":\"微风\"}]";
JSONArray jsonArray= JSON.parseArray(jsonStr);
for(int i=0;i<jsonArray.size();i++){JSONObject jsonObject=jsonArray.getJSONObject(i);Object city=jsonObject.get("city");System.out.println(city);
}System.out.println("====================");
//转List集合
List<Weather> list=JSON.parseArray(jsonStr, Weather.class);
for(Weather weather:list){System.out.println(weather.getCity()+":"+weather.getTemperature());
}System.out.println("============================");
List<Weather> weathers=JSON.parseObject(jsonStr,new TypeReference<List<Weather>>(){});
for(Weather weather:weathers){System.out.println(weather.getCity()+":"+weather.getTemperature());
}
String jsonStr="{\"城市1\":{\"city\":\"西安\",\"temperature\":\"39°C\",\"weather\":\"晴朗\",\"wind\":\"无风\"},\"城市2\":{\"city\":\"岷县\",\"temperature\":\"18°C\",\"weather\":\"晴朗\",\"wind\":\"微风\"}}";
JSONObject obj=JSONObject.parseObject(jsonStr);
JSONObject jsonObject=obj.getJSONObject("城市2");
String city=jsonObject.getString("city");System.out.println("city:"+city);//getObject()
Weather weather1=obj.getObject("城市1",Weather.class);
System.out.println(weather1.getCity());System.out.println("=================");
Map<String,Weather> map= JSON.parseObject(jsonStr,new TypeReference<Map<String,Weather>>(){});//获取所有的值遍历
Collection<Weather> weathers=map.values();
Iterator<Weather> iterator=weathers.iterator();
while(iterator.hasNext()){System.out.println(iterator.next().getCity());
}