JSON 是一种完全独立于编程语言的文本格式。可以把任意编程语言表示的数据类型转换成JSON格式的字符串,也可以反向转换。那json格式如何使用?下面来我们就来给大家讲解一下。
JSON 语法规则
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
对象表示为键值对;
数据由逗号分隔;
花括号保存对象;
方括号保存数组;
JSON 键/值对
JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:
{"firstName": "Json"}
这很容易理解,等价于这条 JavaScript 语句:
{firstName : "Json"}
JSON的两种结构
JSON有两种表示结构,对象和数组。
对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。
{ key1: value1 , key2: value2 , ... }
其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组
数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。
[ { key1: value1 , key2: value2 }, { key3: value3 , key4: value4 } ]
json怎么进行编码解码?
1、编码
从 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}
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是java工作中经常会遇到的,所以对于json相关使用,我们只有熟练掌握了之后才能顺利使用哦!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。
推荐阅读: