谨以文章记录学习历程,如有错误还请指明。
JSON简介
- 定义:
一种 轻量级的文本数据 交换格式 作用:
数据标记、存储 & 传输简记用法:
{} 表示对象;[] 表示数组; “” 表示属性或值; :冒号表示后者是前者的值,这个值可以是对象、数组、字符串、数字等特点:
- 轻量级
- 良好的可读性 & 快读编写
- 独立于平台
解析方式
类似XML
解析,分两大类:
解析方式 | 实现原理 | 具体形式 |
---|---|---|
基于文档驱动 | 解析JSON文档前,将整个JSON文档存到内存中 | 自带的org.json解析 |
基于事件驱动 | 根据不同需求事件去执行不同解析操作 | Gson、Jackson、FastJson |
下面我们根据实例来介绍四种解析方式的使用
建议配合Demo继续阅读 Demo地址: DemoXML-Json
需要解析的JSON
数据(位于assets\
下的complex.json
)
{
"name":"王尼玛",
"fans":
[
{
"name":"小王",
"age":"7"
},
{
"name":"小尼玛",
"age":"10"
}
]
}
org.json解析
- 解析流程:文件全部读入内存->> 遍历所有数据 ->> 按需检索数据
- 实例解析:
private void parse_json(){
try {
StringBuilder textShow = new StringBuilder("This is parsed by org.json" + "\n");
//获取根节点对象
JSONObject rootObject = new JSONObject(get_json("complex.json"));
//获取根节点对象的属性name
textShow.append("star name is : "+ rootObject.get("name"