2019独角兽企业重金招聘Python工程师标准>>>

服务器端解析

使用GOOGLE GSON方式解析JSON格式的数据。

引入gson-1.4.jar包。

参考网站:http://code.google.com/p/google-gson/

对象转换为字符串

普通解析方式:

class User {

private Long id;

private String name;

private String pwd;

//getter and setter

}

User user = new User();

user.setId(1001L);

user.setName("zhenlging");

user.setPwd("abc");

//解析普通对象

Gson gson = new Gson();

String userStr = gson.toJson(user);

System.out.println(userStr);

//输出结果:{"id":1001,"name":"zhenlging","pwd":"abc"}

//解析Map对象

Map<String, User> userMap = new HashMap<String,User>();

userMap.put("user1", user);

String sUserMap = gson.toJson(userMap, new TypeToken<Map<String,User>>(){}.getType());

System.out.println(sUserMap);

//输出结果:{"user1":{"id":1001,"name":"zhengling","pwd":"aaa"},"user2":{"id": 1002,"name":"yangyang","pwd":"bbb"}}

//解析List对象

List<User> list = new ArrayList<User>();

list.add(user1);

list.add(user2);

String sUserList = gson.toJson(list, new TypeToken<List<User>>(){}.getType());

System.out.println(sUserList);

//输出结果:[{"id":1001,"name":"zhengling","pwd":"aaa"},{"id":1002, "name":"yangyang","pwd":"bbb"}]

@Expose注解的使用:

class User {

@Expose

private Long id;

private String name;

@Expose

private String pwd;

//getter and setter

}

//解析代码

User user = new User();

user.setId(1001L);

user.setName("zhenlging");

user.setPwd("abc");

GsonBuilder builder = new GsonBuilder();

//不转换没有@Expose注解的字段

builder.excludeFieldsWithoutExposeAnnotation();

Gson gson = builder.create();

String userStr = gson.toJson(user);

System.out.println(userStr);

//输出结果:{"id":1001,"pwd":"abc"}

字符串转换为对象

Gson gson = new Gson();

//普通对象

String str1 = "{"id":1001,"name":"zhenlging","pwd":"abc"}";

User user = gson.fromJson(str1, User.class);

System.out.println("USER_ID: " + user.getId() + ",USER_NAME:" + user.getName() + ",USER_PWD:"+ user.getPwd());

//输出结果:USER_ID: 1001,USER_NAME:zhenlging,USER_PWD:abc

//Map对象

String str2 = "{"user1":{"id":1001,"name":"zhengling","pwd":"aaa"},"user2":" +

"{"id":1002,"name":"yangyang","pwd":"bbb"}}";

Map<String,User> userMap = gson.fromJson(str2, new TypeToken<Map<String, User>>(){}.getType());

System.out.println(userMap.get("user1").getName());

//输出结果:zhengling

//List对象

String str3 = "[{"id":1001,"name":"zhengling","pwd":"aaa"},{"id":1002,"name"" +

":"yangyang","pwd":"bbb"}]";

List<User> userList = gson.fromJson(str3, new TypeToken<List<User>>(){}.getType());

System.out.println(userList.get(1).getName());

//输出结果:yangyang

客户端

使用json_sans_eval方式解析。

引入json-minified.js文件。

参考网站:http://code.google.com/p/json-sans-eval/

<script type="text/javascript">

var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';

var myJsonObj = jsonParse(myJson);

document.write(myJsonObj.x+"<br>");

for(var k in myJsonObj) {

document.write(k + '=' + myJsonObj[k]+"<br>");

}

var y = myJsonObj.y;

for(var i in y){

document.write(y[i]+"<br>");

}

</script>

输出结果:

Hello, World!
x=Hello, World!
y=1,2,3
1
2
3

转载于:https://my.oschina.net/u/205650/blog/143168

JSON解析方式 gson相关推荐

  1. Json解析方式(学习笔记)

    Json解析方式 前言 一.Json是什么? 简介 示例 Java与Json 二.Json解析方式 2.1 Gson 将对象转换为JSON字符串 将JSON字符串转换为对象 2.2 FastJson ...

  2. java中的json_JAVA中的四种JSON解析方式详解

    JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...

  3. 简单json解析(org.json解析方式)

    简单json解析 json解析方式:org.json json数据 org.json依赖 ​ org.json ​ json ​ ${json.version} json解析程序 (1) 创建Vehi ...

  4. Android中的JSON解析方式:json; Gson ; Fastjson

    本文主要介绍Json数据的解析 ----a,json数据的介绍 ----b,json数据的解析 ----c,gson数据的解析,谷歌公司的一种格式 ----d,fastjson数据的解析,阿里巴巴的一 ...

  5. 谷歌的json解析器Gson在Android/Java中的常用工具类

    gson解析器,可实现子类和json字符串之间互转 package com.hulk.ues.core;import android.text.TextUtils; import android.ut ...

  6. Android学习之Json解析库Gson

    接着上一篇Volley,在使用Volley加载好数据之后,我们肯定不能直接使用这个数据,一般获取的数据都会是Json格式,所以自然而然我们要处理下Json,网络上有很多Json解析库,这里我使用Gso ...

  7. android的json解析方式,Android解析JSON方式

    JSON数据格式的定义: JSON的全称是:JavaScript Object Notation,是一种轻量级的数据交换格式.它构建于两种结构: 1."名称/值" 对的集合(a c ...

  8. Android系统 (190)---Android:JSON 简介 amp; 解析方式 讲解(Gson、AS自带org.json、Jackson)

    Android:JSON 简介 & 解析方式 讲解(Gson.AS自带org.json.Jackson) 前言 现今最主流的数据交换格式 非 JSON莫属 今天,我将全面介绍 JSON &am ...

  9. JSON数据的解析方式

    解析的四种方式 官方解析 谷歌 Gson 解析 阿里巴巴 FastJson 解析 Jackson 解析 案例实操 这里我们就只讨论对象与 json 如何互相转换. 这里我们先创建好 Maven 项目, ...

最新文章

  1. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...
  2. 恐怖小说之王——斯蒂芬·金 (转贴)
  3. 技术分享|手机推送原理剖析指南
  4. 学棋五年的我输给了昇腾CANN
  5. 57、剑指offer--二叉树的下一结点
  6. yue-library是一个基于SpringBoot封装的基础库
  7. linux服务-mysql主从配置
  8. 可视化机器学习工具软件的比较分析研究
  9. RHCE证书考试报名流程
  10. 蓝桥杯pcf8591读和写
  11. JAVA的jdk1.8中文文档
  12. 王者链游西坦竞技场(Thetan Arena)攻略来了
  13. 蛋白质结构预测与分析
  14. 安装Imatest出现的bug及解决方案
  15. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析
  16. Flash动画学习指南:帧频(Frame rates)
  17. 100个python算法超详细讲解:猜牌术
  18. MapReduce统计部门员工组别,并排序
  19. 记一次在nuxt中使用generate批量生成静态站点页面
  20. 个人办公助理系统c语言代码,高分求C语言源代码,要求人力资源管理系统人员档..._人力资源师_帮考网...

热门文章

  1. 无法在此计算机上安装vmware,电脑中虚拟机无法安装VMware Tools提示D盘找不到setup.exe如何解决...
  2. Linux如何查看信号宏定义,转  LINUX 调试宏定义
  3. Arbin数据导出---cellpy库的安装与使用
  4. php安装完后 apache the requested has,Apache启动报错:the requested operation has failed
  5. matlab fbp fan arc,滤波反投影重建算法(FBP)实现及应用(matlab)
  6. 昆明学院C语言期末考试,昆大c试于题b.doc
  7. ubuntu下解决csdn网页打不开的问题
  8. 生成式对抗神经网络code实现
  9. java cookie共享_cookie共享
  10. 华为又对这一领域下手了,网友:太难了……