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 ...
随机推荐
- linux 下shell程序(二)
输入和输出 输入指的是Shell程序读入数据.有从文件读取.从用户输入读取等方式读入数据.输出指的是Shell程序的运行 结果的处理,可以显示到屏幕或保存到文件. 用ceho命令输出结果 echo $ ...
- CentOS7上elasticsearch5.0启动失败
CentOS7上elasticsearch5.0启动失败 刚一启动完直接就退出了 $ ./elasticsearch ... ERROR: bootstrap checks failed max fi ...
- 【转】Gacutil.exe(全局程序集缓存工具)
全局程序集缓存工具使您可以查看和操作全局程序集缓存和下载缓存的内容. 安装 Visual Studio 和 Windows SDK 时会自动安装此工具. 要运行工具,我们建议您使用 Visual St ...
- 巨蟒django之权限9:前端展示修改删除合并&&权限展示
1.权限组件控制流程(硬核重点) 2.权限组件控制流程 3.角色管理 4.删除合并 5.权限展示
- XShell安装(五)
Xshell就是一个远程控制Centos的软件:(用XShell比较方便,试用的都知道,界面也人性化) 详细介绍请看 百度百科 我随便百度下载了一个中文版的 给下地址 http://rj.baidu ...
- 练习: 省市联动(Ajax)
// 示例一: china.xml (位于 src 目录下) <?xml version="1.0" encoding="utf-8"?> < ...
- POCO c++ 使用例子
.定时器 #include "Poco/Timer.h" #include "Poco/Thread.h" using Poco::Timer; using P ...
- 编译java-cef
javacef即java Chromium Embedded Framework,其功能是通过在java应用中嵌入谷歌浏览器内核Chromium. 编译java-cef的过程可参考以下文档及视频: h ...
- Python3.6全栈开发实例[027]
27.文件a.txt内容:每一行内容分别为商品名字,价钱,个数.apple 10 3tesla 100000 1mac 3000 2lenovo 30000 3chicken 10 3通过代码,将其构 ...
- Linux中的流程控制语句
if语句 if [ 条件判断式 ] then 程序elif [ 条件判断式 ] then 程序else 程序fi 注意: a.使用fi结尾 b.条件判断式和中括号之间需要有空格 [root@local ...