JSON 解析之 GSON
1_GSON 框架技术
1)特点:编码简洁,谷歌官方推荐
2)下载地址:https://mvnrepository.com/artifact/com.google.code.gson/gson
1.1_将 json 格式的字符串{}转换为 Java 对象
1)用到的 API <T> T fromJson(String json, Class<T> classOfT);//将 json 对象转换为 Java 对象 的方法 注意:要求 json 对象中的 key 的名称与 java 对象对应的类中的属性名要相同
2)使用步骤
(1)将 Gson 的 jar 包导入到项目中
(2)创建Gson对象 : Gson gson = new Gson();
(3)通过创建的Gson对象调用fromJson()方法,返回该JSON数据对应的Java对象 ShopInfo shopInfo = gson.fromJson(json, ShopInfo.class);
3)测试数据
{"id":2,"name":"大虾","price":12.3,"imagePath":"http://192.168.10.165:8080/L05_Server/images/f1.jpg"
}
4)例子
// (1) 将json格式的字符串{ }转换为 Java对象private void jsonToJavaObject() {// 1 获取或创建 jsonString json = "{\n" + "\t\"id\":2, \"name\":\"大虾\", \n" + "\t\"price\":12.3, \n" +"\t\"imagePath\":\"http://192.168.10.165:8080/L05_Server/images/f1.jpg\"\n" + "}\n";// 2 解析 jsonGson gson = new Gson();ShopInfo shopInfo = gson.fromJson(json, ShopInfo.class);// 3 显示 JSON数据 tv_native_orignal.setText(json);tv_native_last.setText(shopInfo.toString());}
1.2_将 json 格式的字符串[]转换为 Java 对象的 List
1)用到的 API T fromJson(String json, Type typeOfT);//将 json 数组转换为 Java 对象的 list
注意:要求 json 对象中的 key 的名称与 java 对象对应的类中的属性名要相同
2)使用步骤
(1)将 Gson 的 jar 包导入到项目中
(2)创建Gson对象 : Gson gson = new Gson();
(3)通过创建的Gson对象调用fromJson()方法,返回该JSON数据对应的Java集合: List<ShopInfo> shops = gson.fromJson(json, new TypeToken<List<ShopInfo>>() {}.getType());
3)测试数据
[{"id":1,"imagePath":"http://192.168.10.165:8080/f1.jpg","name":"大虾1","price":12.3},{"id":2,"imagePath":"http://192.168.10.165:8080/f2.jpg","name":"大虾2","price":12.5} ]
4)例子
//(2) 将 json格式的字符串 [] 转换为 Java对象的 Listprivate void jsonToJavaList() {// 1 获取或创建 jsonString json = "[\n" + " {\n" + " \"id\": 1,\n" + " \"imagePath\": \"http://192.168.10.165:8080/f1.jpg\",\n"+ " \"name\": \"大虾 1\",\n" + " \"price\": 12.3\n" + " },\n" + " {\n" + " \"id\": 2,\n"+ " \"imagePath\": \"http://192.168.10.165:8080/f2.jpg\",\n" + " \"name\": \"大虾 2\",\n"+ " \"price\": 12.5\n" + " }\n" + "]";// 2 解析 jsonGson gson = new Gson();List<ShopInfo> shops = gson.fromJson(json, new TypeToken<List<ShopInfo>>() {}.getType());// 3 显示JSON数据 tv_native_orignal.setText(json);tv_native_last.setText(shops.toString());}
1.3_将 Java 对象转换为 json 字符串{}
1)用到的 API String toJson(Object src);
2)使用步骤
(1)将 Gson 的 jar 包导入到项目中
(2)创建Gson对象 : Gson gson = new Gson();
(3)通过创建的Gson对象调用toJson()方法,返回json数据:
ShopInfo shop = new ShopInfo(1, "鲍鱼", 250.0, "");
String json = gson.toJson(shop);
3)例子
/*** (3) 将 Java对象转换为 json字符串 {}*/private void javaToJsonObject() {// 1 获取或创建 Java 对象 ShopInfo shop = new ShopInfo(1, "鲍鱼", 250.0, "");// 2 生成 JSON数据Gson gson = new Gson();String json = gson.toJson(shop);// 3 展示 json数据 tv_native_orignal.setText(shop.toString());tv_native_last.setText(json);}
1.4_将 Java 对象的 List 转换为 json 字符串[]
1)用到的 API String toJson(Object src);
2)使用步骤
(1)将 Gson 的 jar 包导入到项目中
(2)创建Gson对象 : Gson gson = new Gson();
(3)通过创建的Gson对象调用toJson()方法,返回json数据:
List<ShopInfo> shops = new ArrayList<>();
String json = gson.toJson(shops);
3)例子
/*** (4) 将Java对象的List转换为json字符串 []*/private void javaToJsonList() {// 1 获取或创建 Java 集合 List<ShopInfo> shops = new ArrayList<>();ShopInfo baoyu = new ShopInfo(1, "鲍鱼", 250, "baoyu");ShopInfo haisen = new ShopInfo(2, "海参", 251, "haisen");shops.add(baoyu);shops.add(haisen);// 2 生成 JSON数据Gson gson = new Gson();String json = gson.toJson(shops);// 3 展示 json数据 tv_native_orignal.setText(shops.toString());tv_native_last.setText(json);}
转载于:https://www.cnblogs.com/yanglanwan/p/11295632.html
JSON 解析之 GSON相关推荐
- 谷歌的json解析器Gson在Android/Java中的常用工具类
gson解析器,可实现子类和json字符串之间互转 package com.hulk.ues.core;import android.text.TextUtils; import android.ut ...
- Android学习之Json解析库Gson
接着上一篇Volley,在使用Volley加载好数据之后,我们肯定不能直接使用这个数据,一般获取的数据都会是Json格式,所以自然而然我们要处理下Json,网络上有很多Json解析库,这里我使用Gso ...
- JSON解析方式 gson
2019独角兽企业重金招聘Python工程师标准>>> 服务器端解析 使用GOOGLE GSON方式解析JSON格式的数据. 引入gson-1.4.jar包. 参考网站:http:/ ...
- 关于浮点数的json解析
近期在工作中遇到个问题 通过post请求从其他系统(好像是C#写的)获得json字符串 {"geometry":{"rings":[[[40426489.331 ...
- JSON解析(java)
JSON JSON概述 简介: JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式. JSON的格式 类名: 诗 属性:诗名 .诗句 jav ...
- json解析_json解析
1.生成json字符串 public static String createJsonString(String key, Object value) {JSONObject jsonObject = ...
- java json float_关于浮点数的json解析
近期在工作中遇到个问题 通过post请求从其他系统(好像是C#写的)获得json字符串 {"geometry":{"rings":[[[40426489.331 ...
- json解析:[1]gson解析json
客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fas ...
- Java学习总结(二十)——JSON解析:官方解析,GSON解析,FastJSON解析,
一.JSON简介: 1.JSON(javaScript Object Notation)是一种轻量级的数据交换格式: 2.JSON数据作为目前网络中主流的数据传输格式之一,应用十分广泛: 3.JSON ...
- gson解析天气json_几种常用JSON解析库性能比较
PS:公众号推文时间工作日早晨8点50分,周末下午3点30分,不见不散哈! 作者:飞污熊 xncoding.com/2018/01/09/java/jsons.html 本篇通过JMH来测试一下Jav ...
最新文章
- 《 Java并发编程从入门到精通》Thread安全与不安全
- make 学习体会(一)
- OSS- OSS brower 登陆失败
- 新电子书:解决生产中Java应用程序错误的完整指南
- appium判断元素是否存在_Python+selenium自动化之判定元素是否存在
- c语言猜字游戏中期报告,c语言小程序:编写猜字游戏
- redis 支持 json_Spring Boot 中集成 Redis
- node.js入门 - 7.异常处理与多进程开发
- 2014年辽宁省普通高等学校本科大学生计算机设计竞赛,2015年辽宁省普通高等学校本科大学生计算机设计竞赛结果进行公示的通知...
- xmanager 远程连接REDHAT 4 桌面
- 在X79 LGA2011上改造安装利民AX120R LGA1200风扇
- 京东联盟sdk php,京东联盟新增对接sdk,配置教程
- 10个您不想错过的最佳网页设计软件
- 关查找我的iphone时显示服务器连接超时,iPhone 屏幕镜像无法关闭,一直显示“正在查找 Apple TV”怎么办?...
- 计算机英语口语app,最实用五大英语口语app,强烈推荐
- 颜色模式,tiff,rgb2cmyk
- 惠州学院计算机科学与技术录取分数线,惠州学院录取分数线2021是多少分(附历年录取分数线)...
- 2022帆软BI数据分析大赛他来了!
- 4款良心电脑软件,有两款虽已停更,依然支持免费使用
- 【日语】日语单词 ---- 身体部位
热门文章
- STL -- string类字符串
- 微信公众平台消息接口开发(26)从Hello2BizUser文本到subscribe事件
- 从零实现 Spring Boot 2.0 整合 weixin-java-mp(weixin-java-tools) 获取 openId,用于微信授权
- 10. Have assignment operators return a reference to *this
- servlet处理多个请求 笔记
- 专线服务器安全维护,服务器系统安全维护
- 酷狗音乐linux版_酷狗音乐PC版 9.1新版本初体验
- spring AOP概念及xml配置
- java两个数最大公约数和最小公倍数_java中请给出例子程序:找出两个数的最大公约数和最小公倍数...
- mysql判断时间是否在某个区间_如何正确理解 RT 并监控 MySQL 的响应时间