Java解析json学习记录
来源:互联网 发布:期货软件开发公司 编辑:程序博客网 时间:2024/05/16 10:23
介绍使用库google-gson库解析json。
"type": "city",
"mark": "true",
"Data":
[{"city": "北京","weather":"雷阵雨","temperature":"31"},
{"city": "上海","weather":"多云","temperature":"30"},
{"city": "天津","weather":"晴","temperature":"33"}]
1、gson-2.3.1的官网链接地址http://search.maven.org/#artifactdetails%7Ccom.google.code.gson%7Cgson%7C2.3.1%7Cjar,点击gson-2.3.1.jar下载后为一个205K的jar包,官网进不去的也可以直接搜索gson-2.3.1.jar进行下载。
2、新建example.json文件,内容如下
{"type": "city",
"mark": "true",
"Data":
[{"city": "北京","weather":"雷阵雨","temperature":"31"},
{"city": "上海","weather":"多云","temperature":"30"},
{"city": "天津","weather":"晴","temperature":"33"}]
}
3、将jar包添加到所使用项目的构建路径。
4、项目中新建ReadJsonContent类来读取example.json文件内容,代码如下
package com.example;import java.io.FileNotFoundException;import java.io.FileReader;import com.google.gson.JsonArray;import com.google.gson.JsonIOException;import com.google.gson.JsonObject;import com.google.gson.JsonParser;import com.google.gson.JsonSyntaxException;public class ReadJsonContent {public static void main(String[] args) {try {//新建Json解析器JsonParser parser = new JsonParser();//调用parse方法获取到JsonObjectJsonObject object = (JsonObject) parser.parse(new FileReader("example.json"));//调用一系列get方法获取object的直接子对象System.out.println("type:"+object.get("type").getAsString());System.out.println("mark:"+object.get("mark").getAsBoolean());//新建Json数组获取object的直接子数组JsonArray array = object.get("Data").getAsJsonArray();System.out.println("Data:");//遍历Json数组for(int i=0;i<array.size();i++){//使用JsonObject获取到数组的元素JsonObject temp = (JsonObject) array.get(i);System.out.print(temp.get("city").getAsString()+" ");System.out.print(temp.get("weather").getAsString()+" ");System.out.println(temp.get("temperature").getAsInt());}} catch (JsonIOException e) {e.printStackTrace();} catch (JsonSyntaxException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();}}}
得到输出:
5、项目中新建WriteJsonContent类来创建example.json文件内容,附上代码
package com.example;import com.google.gson.JsonArray;import com.google.gson.JsonObject;public class WriteJsonContent {public static void main(String[] args) {JsonObject object = new JsonObject();object.addProperty("type", "city");//这里true不加引号会报错object.addProperty("mark", "true");JsonArray array = new JsonArray();JsonObject object1 = new JsonObject();JsonObject object2 = new JsonObject();JsonObject object3 = new JsonObject();//JsonArray第一条数据object1.addProperty("city", "北京");object1.addProperty("weather", "雷阵雨");object1.addProperty("temperature", "31");//JsonArray第二条数据object2.addProperty("city", "上海");object2.addProperty("weather", "多云");object2.addProperty("temperature", "30");//JsonArray第三条数据object3.addProperty("city", "天津");object3.addProperty("weather", "晴");object3.addProperty("temperature", "33");//依次添加数据array.add(object1);array.add(object2);array.add(object3);object.add("Data", array);//输出所创建的Json文本System.out.println(object.toString());}}
输出与example.json文件内容一致,只是所有内容都在一行。
0 0
- Java解析json学习记录
- 记录 java 解析一个json数据
- json解析记录
- Python json解析记录
- 记录json解析
- android学习笔记17:JAVA解析Json
- 【Java学习20170411】反射+Json解析
- Java使用Dom解析xml学习记录
- java使用dom4j解析xml学习记录
- JSON学习记录
- 学习Json记录
- 12、JSON 学习记录
- json学习json解析demo
- JAVA JSON 开发记录
- java处理json 记录
- Json Gson java解析json
- **JAVA 学习记录之 XML解析操作学习笔记**
- 学习 Json解析数据
- 线性查找算法
- hdoj1455 poj1011 nyoj293 Sticks【DFS+剪枝】
- 慢慢学会总结
- hdu 2393(Higher Math)
- 在spfile中删除系统参数
- Java解析json学习记录
- PHP调用淘宝IP地址查询接口查询IP所在地信息实例
- 51nod1419
- HDOJ I Hate It 1754【线段树】
- 单选(RadioButton)复选(CheckBox)学习笔记
- 基本控件之UIButton
- iOS HTML图片本地预览
- 用户级线程和内核级线程
- 玩转Android--UI篇--PreferenceActivity(开启wifi和音乐等)