java使用JSON编码与解码
编码
从 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 s = object.getString("string");//string
System.out.println(s);
int i = object.getIntValue("int"); //int
System.out.println(i);
boolean b = object.getBooleanValue("boolean"); //boolean
System.out.println(b);
List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class); //list
integers.forEach(System.out::println);
System.out.println(object.getString("null")); //null
}
在上例中,首先从 JSON 格式的字符串中构造一个 JSON 对象,之后依次读取字符串、整数、布尔值以及数组,最后分别打印。
打印结果如下:
string
2
true
1
2
3
null
JSON 对象与字符串的相互转化
方法 | 作用 |
JSON.parseObject() | 从字符串解析 JSON 对象 |
JSON.parseArray() | 从字符串解析 JSON 数组 |
JSON.toJSONString(obj/array) | 将 JSON 对象或 JSON 数组转化为字符串 |