龙空技术网

Java 中 JSON 的使用

程序撸sir 575

前言:

此时姐妹们对“java json处理”大概比较着重,小伙伴们都想要学习一些“java json处理”的相关知识。那么小编同时在网摘上汇集了一些对于“java json处理””的相关知识,希望咱们能喜欢,同学们快快来了解一下吧!

在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用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 对象,之后依次读取字符串、整数、布尔值以及数组,最后分别打印,打印结果如下:

string

2

true

1

2

3

null

JSON 对象与字符串的相互转化

实例:

//从字符串解析JSON对象

JSONObject obj = JSON.parseObject("{\"\":\"资源库\"}");

//从字符串解析JSON数组

JSONArray arr = JSON.parseArray("[\"资源库\",\"\"]\n");

//将JSON对象转化为字符串

String objStr = JSON.toJSONString(obj);

//将JSON数组转化为字符串

String arrStr = JSON.toJSONString(arr);

标签: #java json处理 #gsonjava #java 读json #java 接收json #java json 文件