Java 中 JSON 的使用,第1张

分类 编程技术

本章节我们将为大家介绍如何在 Java 语言中使用 JSON

类库选择

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

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

Gson: 谷歌开发的 JSON 库,功能十分全面。

FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。

Jackson: 社区十分活跃且更新速度很快。

以下教程基于 FastJson 讲解。

环境配置

在 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(); //string object.put("string","string"); //int object.put("int",2); //boolean object.put("boolean",true); //array List Integer integers = Arrays.asList(1,2,3); object.put("list",integers); //null object.put("null",null); System.out.println(object);}

在上例中,首先建立一个 JSON 对象,然后依次添加字符串、整数、布尔值以及数组,最后将其打印为字符串。

输出结果如下:

{"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}"); //string String s = object.getString("string"); System.out.println(s); //int int i = object.getIntValue("int"); System.out.println(i); //boolean boolean b = object.getBooleanValue("boolean"); System.out.println(b); //list List Integer integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class); integers.forEach(System.out::println); //null System.out.println(object.getString("null"));}

在上例中,首先从 JSON 格式的字符串中构造一个 JSON 对象,之后依次读取字符串、整数、布尔值以及数组,最后分别打印,打印结果如下:

string2true123null
JSON 对象与字符串的相互转化方法作用JSON.parseObject()从字符串解析 JSON 对象JSON.parseArray()从字符串解析 JSON 数组JSON.toJSONString(obj/array)将 JSON 对象或 JSON 数组转化为字符串实例

//从字符串解析JSON对象JSONObject obj = JSON.parseObject("{\"runoob\":\"菜鸟教程\"}");//从字符串解析JSON数组JSONArray arr = JSON.parseArray("[\"菜鸟教程\",\"RUNOOB\"]\n");//将JSON对象转化为字符串String objStr = JSON.toJSONString(obj);//将JSON数组转化为字符串String arrStr = JSON.toJSONString(arr);


本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Java 中 JSON 的使用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情