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工具类的使用的更多相关文章

  1. Jackson 对象与json数据互转工具类JacksonUtil

    1,User对象 package com.st.json; import java.util.Date; /** * @Description: JSON序列化和反序列化使用的User类 * @aut ...

  2. Android解析Json数据之Gson解析

    Gson是谷歌官方提供的解析json数据的工具类.json数据的解析能够使用JSONObject和JSONArray配合使用解析数据,可是这样的原始的方法对于小数据的解析还是有作用的,可是陪到了复杂数 ...

  3. C#的百度地图开发(二)转换JSON数据为相应的类

    原文:C#的百度地图开发(二)转换JSON数据为相应的类 在<C#的百度地图开发(一)发起HTTP请求>一文中我们向百度提供的API的URL发起请求,并得到了返回的结果,结果是一串JSON ...

  4. GSON工具类

    import java.util.Map; import com.google.gson.reflect.TypeToken; import com.google.gson.FieldNamingPo ...

  5. 将Json数据 填充到 实例类 的函数

    /// <summary> /// 将Json数据 填充到 实例类 /// </summary> /// <typeparam name="T"> ...

  6. JavaScript 数据值校验工具类

    /** * 数据值校验工具类 */ var checkService = { // 不校验 none: function () { return true; }, //非空校验 isEmpty: fu ...

  7. JSON转换的原创工具类

    进来在项目中总是遇到ArrayList线性表需要转化成JSONArray的场景,或者Java对象和JSON字符串之间的转化问题,于是乎自己写了一个粗糙的工具类,经过初步的测试,暂时还未发现什么bug, ...

  8. Xml格式数据转map工具类

    前言[ 最近在写一个业务,由于调UPS物流的接口返回的是一个xml格式的数据结果,我现在要拿到xml中某个节点的值,而这个xml数据是多节点多层级的,并且这某个节点的值有可能只有一条值,有可能有多条, ...

  9. json转字符串,json转list,json转pojo的工具类

    package com.loveshop.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingEx ...

随机推荐

  1. Android无线测试之—UiAutomator UiDevice API介绍三

    获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...

  2. [转]libevent 环境配置

    libevent 据说是IO复用的好东西.所以今天来耍耍. 1. 从官网下载源代码:http://libevent.org/,最新的版本已达到2.0. 2. 先把ubuntu系统自带的libevent ...

  3. HDU4027(Can you answer these queries?)

    题目链接:传送门 题目大意:有一个长度为n的数组,有m次操作,每次操作输入 v x y,v==0时x~y区间内的数都开平方并且向下取整,v==1时求x~y区间内所有数的和. 题目思路:long lon ...

  4. 整合swagger2生成Restful Api接口文档

    整合swagger2生成Restful Api接口文档 swagger Restful文档生成工具 2017-9-30 官方地址:https://swagger.io/docs/specificati ...

  5. maven实现项目热部署

    1.Tomcat的配置 我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. 在tomcat的安装 ...

  6. 学习 《UNIX网络编程》

    学习本书之前,为了了解C语言,先通读了<C程序设计语言>.但对C语言的理解.熟悉可能还是不足,所以在学习本书的过程中,遇到看不懂的C代码,还要去查询.思考. 本书一开始,我就遇到了问题,运 ...

  7. MySQL root用户忘记密码怎么办?修改密码方法:skip-grant-tables

    忘记密码怎么办? 1.以管理员身份打开cmd2.执行命令tasklist |findstr mysql ,查看正在运行的mysql进程 3.执行命令taskkill /F /PID 13644(此处进 ...

  8. HDU1950-Bridging signals-最长上升子序列

    Description 'Oh no, they've done it again', cries the chief designer at the Waferland chip factory. ...

  9. C#数组学习

    1.多维数组 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespa ...

  10. 请写一个python逻辑,计算一个文件中的大写字母数量

    import os os.chdir(r'C:\Users\Administrator\Desktop')#os.chdir切换到指定目录 with open('a.txt') as today: c ...