JSON

Java中利用gson解析Json实例教程

字号+ 作者:H5之家 来源:H5之家 2017-06-26 17:07 我要评论( )

这篇文章主要给大家介绍了关于Java中利用gson解析Json 的相关资料,文中给出了详细的示例代码供大家参考学习,相信对大家具有一定的参考学习价值,需要的朋友们

时间:2017-05-29来源: 作者:源码库 文章热度: ℃

前言

本文主要跟大家介绍了关于Java用gson解析Json的相关内容,分享出来供大家参考学习,需要的朋友们下面来一起看看吧。

json数据

{ "resultcode": "200", "reason": "successed!", "result": { "sk": { "temp": "24", "wind_direction": "西南风", "wind_strength": "2级", "humidity": "51%", "time": "10:11" }, "today": { "temperature": "16℃~27℃", "weather": "阴转多云", "weather_id": { "fa": "02", "fb": "01" }, "wind": "西南风3-4 级", "week": "星期四", "city": "滨州", "date_y": "2015年06月04日", "dressing_index": "舒适", "dressing_advice": "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。", "uv_index": "最弱", "comfort_index": "", "wash_index": "较适宜", "travel_index": "", "exercise_index": "较适宜", "drying_index": "" }, "future": [ { "temperature": "16℃~27℃", "weather": "阴转多云", "weather_id": { "fa": "02", "fb": "01" }, "wind": "西南风3-4 级", "week": "星期四", "date": "20150604" }, { "temperature": "20℃~32℃", "weather": "多云转晴", "weather_id": { "fa": "01", "fb": "00" }, "wind": "西风3-4 级", "week": "星期五", "date": "20150605" }, { "temperature": "23℃~35℃", "weather": "多云转阴", "weather_id": { "fa": "01", "fb": "02" }, "wind": "西南风3-4 级", "week": "星期六", "date": "20150606" }, { "temperature": "20℃~33℃", "weather": "多云", "weather_id": { "fa": "01", "fb": "01" }, "wind": "北风微风", "week": "星期日", "date": "20150607" }, { "temperature": "22℃~34℃", "weather": "多云", "weather_id": { "fa": "01", "fb": "01" }, "wind": "西南风3-4 级", "week": "星期一", "date": "20150608" }, { "temperature": "22℃~33℃", "weather": "阴", "weather_id": { "fa": "02", "fb": "02" }, "wind": "西南风3-4 级", "week": "星期二", "date": "20150609" }, { "temperature": "22℃~33℃", "weather": "多云", "weather_id": { "fa": "01", "fb": "01" }, "wind": "南风3-4 级", "week": "星期三", "date": "20150610" } ] }, "error_code": 0 }

解析JSONObject

import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.google.gson.JsonIOException; import java.io.FileNotFoundException; import java.io.FileReader; public class ReadJson { public static void main(String []args) { JsonParser parse = new JsonParser(); try { JsonObject json = (JsonObject) parse.parse(new FileReader("weather.json")); System.out.println("resultcode:" + json.get("resultcodeu").getAsInt()); System.out.println("reason:" + json.get("reason").getAsString()); JsonObject result = json.get("result").getAsJsonObject(); JsonObject today = result.get("today").getAsJsonObject(); System.out.println("weak:" + today.get("week").getAsString()); System.out.println("weather:" + today.get("weather").getAsString()); } catch (JsonIOException e) { e.printStackTrace(); } catch (NullPointerException e) { e.printStackTrace(); } catch (JsonSyntaxException e){ e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }

解析JSONArray

import com.google.gson.JsonParser; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; import com.google.gson.JsonIOException; import java.io.FileNotFoundException; import java.io.FileReader; public class ReadJsonArray { public static void main(String []args) { JsonParser parse = new JsonParser(); try { JsonObject json = (JsonObject)parse.parse(new FileReader("C:\\Users\\wzh94434\\IdeaProjects\\TestProject\\jsontest\\src\\main\\java\\weather.json")); JsonObject result = json.get("result").getAsJsonObject(); JsonArray futureArray = result.get("future").getAsJsonArray(); for (int i = 0; i < futureArray.size(); ++i) { JsonObject subObj = futureArray.get(i).getAsJsonObject(); System.out.println("------"); System.out.println("week:" + subObj.get("week").getAsString()); System.out.println("weather:" + subObj.get("weather").getAsString()); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (JsonIOException e) { e.printStackTrace(); } catch (JsonSyntaxException e) { e.printStackTrace(); } } }

注意:文件路径相对路径是从工程根目录开始

java,gson解析json,java如何解析json

总结

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JSON.parse方法详解

    JSON.parse方法详解

    2017-06-24 12:07

  • 有效选择七个关于 Java 的 JSON 开源类库

    有效选择七个关于 Java 的 JSON 开源类库

    2017-06-22 13:01

  • JSON(jsonlib)与java对象的相互转换

    JSON(jsonlib)与java对象的相互转换

    2017-06-21 11:01

  • JSON JSONP 的区别

    JSON JSONP 的区别

    2017-06-16 13:02

网友点评