JSON简介
- JAVAScript Object Notation是一种轻量级的数据交换格式
- 具有良好的可读和便于快速编写的特性。
- 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持)
- JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.org
- JSON作为数据是目前网络中主流的数据传输格式之一,应用十分广泛
JSON支持的数据类型
我们要学习使用JSON解析,必须对JSON解析的规则原理有深刻的认识和了解,然后才知道它的一个实现原理
JSON里面的数据是以一种 键-值对的方式存在
(”key”:”value”)中值的类型可以是下面数据类型中的任意一种:
1. 数字(整数或浮点数)
2. 逻辑值(true 或 false)
3. 字符串(在双引号中)
4. 数组(在方括号中)
5. 函数
6. 对象(在大括号中)
7. null
JSON语法规则
JSON的语法规则非常的简单,就是使用
大括号’{}’,
中括号’[]’,
逗号’,’,
冒号’:’,
双引号’“”’。
数据类型:
嵌套对象、数组、字符串、数字、布尔值或空值。
我们在JSON解析中只有三中情况出现
1.{} 解析’大括号’类型
2. [ ] 解析是’中括号’类型
3. 组合类型
代码举例:
package com.djx.JsonTest; import org.json.JSONArray; import org.json.JSONObject; import javax.naming.Name; import java.lang.String; public class Test { public static void main(String[] args) { String s="{\"age\": 35,\"sex\": \"men\",\"dynasty\": \"唐朝\",\"name\": \"李白\",\"weight\": 63.5}"; JSONObject jsonObject=new JSONObject(s); int str=jsonObject.getInt("age"); System.out.println(str); String t="{\"name\":\"李白\",\"specialty\":[\"诗仙\",\"剑仙\",\"酒仙\"]}"; JSONObject jsonObject1=new JSONObject(t); System.out.println(jsonObject1.getString("name")); JSONArray array=jsonObject1.getJSONArray("specialty"); for (int i=0;i<array.length();i++){ System.out.println(array.getString(i)); } } }输出结果:
提示:
解释Json字符串的时候遵循一下两个原则:
原则一:遇到 { } 用 JSONObject
原则二:遇到 [ ] 用 JSONArray