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. Netdata安装和使用(Linux 性能实时监测工具)

    Netdata 是一款 Linux 性能实时监测工具..以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu.内存.硬盘输入/输出.网络等linux性能的数据). Netdata文档地址: ...

  2. Android开发:使用DialogFragment实现dialog自定义布局

    使用DialogFragment实现dialog的自定义布局最大的好处是可以更好控制dialog的生命周期. TestFragment的代码: public class TestFragment ex ...

  3. Android UI开发第二十七篇——实现左右划出菜单

    年前就想写左右滑动菜单,苦于没有时间,一直拖到现在,这篇代码实现参考了网上流行的SlidingMenu,使用的FrameLayout布局,不是扩展的HorizontalScrollView. 程序中自 ...

  4. 《从零开始学Swift》学习笔记(Day 12)——说几个特殊运算符

    原创文章,欢迎转载.转载请注明:关东升的博客   除了一些常用的运算符,还有一些其他的: •      引用号(.):实例调用属性.方法等操作符. •      问号(?):用来声明可选类型. •   ...

  5. 清空javascript数组数据

    var arrayObj = new Array(); arrayObj.splice(0, arrayObj.length);//清空数组数据

  6. Java 自带的加密类MessageDigest类(加密MD5和SHA)

    Java 自带的加密类MessageDigest类(加密MD5和SHA) - X-rapido的专栏 - CSDN博客 https://blog.csdn.net/xiaokui_wingfly/ar ...

  7. 明文post密码

    w 作者:余天升链接:https://www.zhihu.com/question/20306241/answer/14696464 看到上面几位的回答,我真心觉得,当前信息安全保护的意识过于低下,连 ...

  8. Ramsey's_theorem Friendship Theorem 友谊定理

    w https://en.wikipedia.org/wiki/Ramsey's_theorem https://zh.wikipedia.org/wiki/拉姆齐定理 在组合数学上,拉姆齐(Rams ...

  9. 如何用Python输出一个斐波那契Fibonacci数列

    a,b = 0, 1 while b<100: print (b), a, b = b, a+b

  10. Linux中的系统挂载文件/etc/fstab

    [root@localhost ~]# cat /etc/fstab ## /etc/fstab# Created by anaconda on Wed Oct 5 15:21:46 2016## A ...