Java 中 JSON 的使用

类库选择

Java中并没有内置JSON的解析,因此使用JSON需要借助第三方类库。

下面是几个常用的 JSON 解析类库:

Gson: 谷歌开发的 JSON 库,功能十分全面。
FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。
Jackson: 社区十分活跃且更新速度很快。

以下我们将基于 FastJson 讲解。

Maven配置

在 Maven 构建的项目中,在 pom.xml 文件中加入以下依赖即可。

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version>
</dependency>

编码

从 Java 变量到 JSON 格式的编码过程如下:

public void testJson() {JSONObject object = new JSONObject();//stringobject.put("string","string");//intobject.put("int",2);//booleanobject.put("boolean",true);//arrayList<Integer> integers = Arrays.asList(1,2,3);object.put("list",integers);//nullobject.put("null",null);
​System.out.println(object);// {"boolean":true,"string":"string","list":[1,2,3],"int":2}
}

解码

从 JSON 对象到 Java 变量的解码过程如下:

public void testJson2() {​JSONObject object = JSONObject.parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}");//stringString s = object.getString("string");System.out.println(s);//intint i = object.getIntValue("int");System.out.println(i);//booleanboolean b = object.getBooleanValue("boolean");System.out.println(b);//listList<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class);integers.forEach(System.out::println);//nullSystem.out.println(object.getString("null"));
​
}

【Java】Java实现 JSON 的组装和解析相关推荐

  1. Java实现 JSON 的组装和解析

    什么是JSON(JavaScript Object Notation) JSON和xml一样都是数据交换格式.JSON是轻量级的,相比xml占带宽小.效率高 JSON只有两种结构:对象和数组 /*JS ...

  2. java map转json字符串_Java-Gso-json字符串解析-php后台返回字段类型可能为字符串(/空字符串)或者对象的情况...

    其实本来android前端定义的对象类型是对象,如果后台没有值的情况下,理论上给null,如果是数组给[]或者null都可以的.这样Gson再解析转换的时候就不会出问题!但是最近重构发现后台如果没有字 ...

  3. java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...

    1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...

  4. js解析json数组+java对象转json字符串

    function checkoutUserlist(){ // js 解析json数组var statuslist = [{"isAvailabe":"1",& ...

  5. java json path_Java使用JSONPath解析JSON完整内容详解

    JsonPath是一种简单的方法来提取给定JSON文档的部分内容. JsonPath有许多编程语言,如Javascript,Python和PHP,Java. JsonPath提供的json解析非常强大 ...

  6. Java XML转换为JSON XML解析 转换为JSON Java 实现JSON转换为XML json转xml

    Java XML转换为JSON XML解析 转换为JSON Java 实现JSON转换为XML json转xml 一.转换代码 1.XML字符串转换为JSON /*** description: XM ...

  7. jsp java json解析,jsp中获取json字符串,并解析

    JqueryDemo1 function showData() { var str='{ "name": "John" }';//json标准格式 var ob ...

  8. java 8583报文解析_ISO8583报文工具类(组装和解析报文) | 学步园

    很久没来csdn了.现在的工作地点在银行,妈的,不让上网啊. 写写博客其实是对自己知识的总结,这么长时间了,也该写点东西了.接触银行的项目,避免不了 遇上8583报文.具体介绍就不细讲了,这个网上一大 ...

  9. java发送iso8583报文接口框架,ISO8583报文工具类(组装和解析报文)

    package com.lsy.common.util; import java.io.FileInputStream; import java.io.UnsupportedEncodingExcep ...

最新文章

  1. 雇佣和留住开发人员,打造优秀的团队
  2. R3LIVE:一个实时鲁棒、带有RGB颜色信息的激光雷达-惯性-视觉紧耦合系统(香港大学)...
  3. 如何从网页上下载Flash?
  4. Javascript面向对象编程(二) 构造函数的继承
  5. 城轨的两类时钟系统均同步于_基于两台SDS3000示波器同步产生“8通道”示波器...
  6. 请说说你对标签语义化的理解?
  7. Unity运行时刻资源管理
  8. Matrix探究细谈
  9. mysql5.0 linux安装包,LINUX下MYSQL5.0的安装!
  10. MySQL Semisync
  11. [LeetCode] Rotate Array
  12. Linux chmod、fchmod函数
  13. 常用URL schemes ✨支付宝 、微信、腾讯、百度、网易、银行 、社交 、音频 、工具大集合
  14. html表格内数据填充颜色,点击数据,自动为整行表格填充颜色,再也不用担心看错数据了...
  15. 用计算机发送电子邮件,用英语解释一下发送电子邮件的过程 用计算机语言来说一下,大概400到500个英文单词...
  16. GSMA TAC核发及IMEI编码规则
  17. 选择计算机配件用户需求,买电脑都需要看什么?对电脑不太懂,配置什么的…...
  18. 对CS1.6游戏的分析及心得
  19. cae属于计算机技术吗,CAE、CAD、CAPP与CAM的区别——扫盲贴
  20. hdu 5435 A serious math problem 数位dp

热门文章

  1. TransCenter解读
  2. python爬虫-初步使用Scrapy分布式爬虫(爬取mcbbs整合包保存名称及主要mod),大爱MC
  3. EOJ_1070_下落的小球
  4. java比较两个对象重写,不重写equals进行两个对象间的深度比较
  5. cocos2d-x游戏实例(15)-纵版射击游戏(2)
  6. NAT 及 NAT 打洞技术
  7. WebRTC 视频发送和接收处理过程
  8. 面试官:DDD如何指导微服务拆分?90%的程序员都答不上来!
  9. 揭秘视频千倍压缩背后的技术原理之预测技术
  10. 机器学习在ABR算法中的应用纵览