json数据与Gson工具类的使用
JS中使用JSON
JSON对象 --> JSON字符串:JSON.stringify(对象)
JSON字符串 --> JSON对象:JSON.parse(JSON字符串)
<script type="text/javascript">
var json={"name":"chen","age":18,"date":new Date(),"school":null,"hobby":[1,2,3],"gender":true};
document.write(typeof json+"<br>");//object
document.write(json+"<br>");//[object Object]
document.write(json.name+"<br>");//chen
document.write(json.hobby[0]+"<br>");//
document.write("JSON转化成string<br>");
var jsonStr=JSON.stringify(json);
document.write(typeof jsonStr+"<br>");//string
document.write(jsonStr+"<br>");//{"name":"chen","age":18,"date":"2017-08-17T13:15:32.981Z","school":null,"hobby":[1,2,3],"gender":true}
//document.write(jsonStr.name+"<br>");//undefined出错
//document.write(jsonStr.hobby[0]+"<br>");//undefined出错
document.write("string转化成JSON<br>");
var jsonObj=JSON.parse(jsonStr);
document.write(typeof jsonObj+"<br>");//object
document.write(jsonObj+"<br>");//[object Object]
document.write(jsonObj.name+"<br>");//chen
document.write(jsonObj.hobby[0]+"<br>");//
</script>
JAVA中使用JSON
目前Java中用的比较多的JSON解析工具:
- json-lib --> 使用麻烦,解析性能最差
- Jackson --> 使用较麻烦,解析性能最好
- Gson --> 使用简单,解析性能中等
- Gson是谷歌出的一款JSON解析工具,使用简单,且性能较好。
GSON工具类的使用
// 将普通对象转换为JSON字符串!
Student stu = new Student("尘", 18);
System.out.println(stu);//com.test.Student@15db9742-----内存地址
Gson gson = new Gson();
String json = gson.toJson(stu);
System.out.println(json);//{"name":"尘","age":18}
Student fromJson1 = gson.fromJson(json, Student.class);
System.out.println(fromJson1);//com.test.Student@25f38edc-----内存地址 // 把Map转换成JSON字符串
Map<String,String> map2 = new HashMap<String,String>();
map2.put("hobby","篮球");
map2.put("gender", "男");
String json2 = gson.toJson(map2);
System.out.println(json2);//{"gender":"男","hobby":"篮球"}
Map<String,String> fromJson2 = gson.fromJson(json2, Map.class);
System.out.println(fromJson2);//{gender=男, hobby=篮球} // 将List转换为JSON字符串
List<Student> list = new ArrayList<Student>();
list.add(new Student("Tom", 7));
list.add(new Student("Jerry", 5));
String json3 = gson.toJson(list);
System.out.println(json3);//[{"name":"Tom","age":7},{"name":"Jerry","age":5}]
List<Map<String, Object>> fromJson3 = gson.fromJson(json3, List.class);
for (Map map3 : fromJson3) {
System.out.println(map3.get("name"));
//Tom
//Jerry
}
付gson-2.2.4.jar下载地址(百度云) 密码:9ngh
json数据与Gson工具类的使用的更多相关文章
- Jackson 对象与json数据互转工具类JacksonUtil
1,User对象 package com.st.json; import java.util.Date; /** * @Description: JSON序列化和反序列化使用的User类 * @aut ...
- Android解析Json数据之Gson解析
Gson是谷歌官方提供的解析json数据的工具类.json数据的解析能够使用JSONObject和JSONArray配合使用解析数据,可是这样的原始的方法对于小数据的解析还是有作用的,可是陪到了复杂数 ...
- C#的百度地图开发(二)转换JSON数据为相应的类
原文:C#的百度地图开发(二)转换JSON数据为相应的类 在<C#的百度地图开发(一)发起HTTP请求>一文中我们向百度提供的API的URL发起请求,并得到了返回的结果,结果是一串JSON ...
- GSON工具类
import java.util.Map; import com.google.gson.reflect.TypeToken; import com.google.gson.FieldNamingPo ...
- 将Json数据 填充到 实例类 的函数
/// <summary> /// 将Json数据 填充到 实例类 /// </summary> /// <typeparam name="T"> ...
- JavaScript 数据值校验工具类
/** * 数据值校验工具类 */ var checkService = { // 不校验 none: function () { return true; }, //非空校验 isEmpty: fu ...
- JSON转换的原创工具类
进来在项目中总是遇到ArrayList线性表需要转化成JSONArray的场景,或者Java对象和JSON字符串之间的转化问题,于是乎自己写了一个粗糙的工具类,经过初步的测试,暂时还未发现什么bug, ...
- Xml格式数据转map工具类
前言[ 最近在写一个业务,由于调UPS物流的接口返回的是一个xml格式的数据结果,我现在要拿到xml中某个节点的值,而这个xml数据是多节点多层级的,并且这某个节点的值有可能只有一条值,有可能有多条, ...
- json转字符串,json转list,json转pojo的工具类
package com.loveshop.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingEx ...
随机推荐
- 在部署有OGG的数据库主机上打数据库patch遇到的问题libclntsh.so.11.1 active
在部署有OGG的数据库主机上打数据库patch遇到的问题$ORACLE_HOME/lib/libclntsh.so.11.1 active 例如以下是报错提示: [oracle@lei1 175796 ...
- 【网络优化|渣速必看】合理设置MTU,提升网络速度
可能很少网友注意过“本机.网络”的“MTU”值对自己网络性能产生的影响.对于追求更快的下载速度来说,MTU值设置不当,就仿佛穿着高跟鞋跑步一般. MTU是什么? “MTU=最大传输单元 单位:字节” ...
- Kotlin——初级篇(三):数据类型详解
任意一种开发语言都有其数据类型,并且数据类型对于一门开发语言来说是最基本的构成,同时也是最基础的语法.当然,Kotlin也不例外.Kotlin的数据类型和Java是大致相同的,但是他们的写法不同,并且 ...
- linux环境配置nginx导致页面不刷新
在linux环境下,配置了nginx负载均衡,由于可能在虚拟主机的配置文件nginx.conf中,对缓存机制未配置成功,导致页面不刷新,仍然显示缓存中的内容. 最后通过注释nginx.conf文件中的 ...
- app开发制作会难吗?app开发好学吗?
前面我们讲到了app是什么,APP是运行在智能手机的第三方应用程序,可以满足用户的不同需求.那么app开发制作会难吗?这个与产品的复杂度有很大的关系,复杂度包括业务逻辑多不多,业务模块多不多等,对于玩 ...
- activiti 发布异常 org.activiti.engine.ActivitiException: Error parsing XML
三月 23, 2015 1:58:31 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() fo ...
- 鸟哥的Linux私房菜-第一部分-第3章主机规划与磁盘分区
1. 选择一个与你的Linux搭配的主机配置 NAT服务器:小型企业或者学校都基本是只有一条对外的线路,网卡 SAMBA服务器:完成Windows网上邻居的功能,网卡和硬盘要求高 Mail服务器:如果 ...
- mysql终结篇
一.mysql中not null unique和primary key 的区别 1.not null unique 是给一个字段设置非空且唯一的特性,当表中字段没有设置primary key的主键特性 ...
- 剑指offer 面试10题
面试10题: 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.n<=39 n=0时,f(n)=0 n=1时,f(n)=1 n>1时,f(n)=f(n-1 ...
- 剑指offer 面试61题
面试61题: 题目:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到 ...