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 ...
随机推荐
- MDF损坏或LDF文件损坏
MDF损坏或LDF损坏 MDF丢失或LDF丢失 注意,这些情况必须要相同版本的sql server才能操作成功 当MDF损坏时 1.备份结尾日志 http://www.cnblogs.com/gere ...
- idea中maven 加载spring-boot项目程序包找不到解决…
首先检查maven配置对不对,包括被settings文件以及资源库的位置,maven版本等. 如果不行的话再进行下面的操作: 第一种方案: 在终端terminal中项目目录下,输入“mvn idea: ...
- javascript高级语法
一.JavaScript对象 1.js对象简介 1.1 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,在JavaScrip ...
- 剑指offer 面试64题
题目:64题 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 解法一:利用Python特性 # -*- ...
- 解释python中join()和split()函数
join能让我们将指定字符添加至字符串中 a=') print(a) print(type(a)) #1,2,3,4,5,6 #<class 'str'> split()能让我们用指定字符 ...
- 字符编码 and 字节和字符串转换(待补充)
ascii用一个字节(8位二进制)代表一个字符 Unicode常用2个字节(16位二进制)代表一个字符,生僻字需要用四个字节 汉字中已经超出了ASCII编码的范围,用Unicode, Unicode兼 ...
- Linux:文件
Linux:文件 文件属性 用户分为三种:文件拥有者.群组以及其它人,对不同的用户有不同的文件权限. 使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x. 3 root ro ...
- js文件操作
IE下 1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码代码如下: Var fso=new ActiveXObject(Scripting.FileSys ...
- iOS WKWebView OC 与 JS 交互学习
我写WKWebView 想让 服务端相应 一个 方法但是不响应,根据 UIWebView 用 JSContext就能拿到响应的处理经验是不是服务端 也需要 对 WKwebView有兼容的一个写法??? ...
- Adjust Linux Mint Mouse Scroll (Normal/Reverse)
Set Scroll Normal 1 echo "pointer = 1 2 3 4 5 6 7 8 9 10 11 12" > ~/.Xmodmap && ...