什么是 JSON?
什么是 JSON?
JSON: JavaScript Object Notation(JavaScript 对象表达式)
JSON 是存储和交换文本信息的语法。 类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 是轻量级的文本数据交换格式
JSON 独立于语言:JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。 JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET) 编程语言都支持JSON。
JSON 具有自我描述性,更易理解
与 XML 的区别
与 XML 相同之处
- JSON 是纯文本
- JSON 具有“自我描述性” (人类可读)
- JSON 具有层级结构 (值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
与 XML 不同之处
- 没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的 JavaScript eval() 方法进行解析
- 使用数组
- 不使用保留字
为什么使用 JSON?
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用
使用XML
- 读取 XML 文件
- 使用 XML DOM 来循环遍历文档
- 读取值并存储在变量中
使用JSON
- 读取 JSON 字符串
- 用 eval() 处理 JSON 字符串
- JSON.parse()、JSON.stringify() 格式互换
JSON 语法
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组
JSON 值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true/false)
数组(在中括号中)
对象(在大括号中)
null
JSON 方法
JSON.parse()
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
我们可以使用JSON.parse() 方法将数据转换为 JavaScript 对象。
语法
JSON.parse(str,callback);
第二个参数可选,将为对象的每个成员调用此函数。
JSON数据解析
JSON解析一定要掌握的两条规则:
1.如果看到是{ }–>使用JSONObject
2.如果看到的[ ]–>使用JSONArray解析
掌握了JSON的数据类型和基本语法后,下面我们将对JSON的各种语法类型进行详细解析(注意掌握两条规则的使用,掌握了JSON解析就那么回事)
纯对象(Object)的解析{ }:
import org.json.JSONException;
import org.json.JSONObject;
public class Json01 {
public static void main(String[] args) {
// 编辑一个我们要解析的数据对象
// 根据JSON的官方定义,键,加"",值,如果是字符串,就加"",其他不加。
String json="{'name':'汐','age':24}";
try {
// 创建JSON解析对象(两条规则的体现:大括号用JSONObject,注意传入数据对象)
JSONObject obj = new JSONObject(json);
// obj.后面有各种数据类型,根据对象来选择使用的数据类型
String name = obj.getString("name");
// 同理如上,这里的age为Int类型,我们就用对应的类型进行解析
int age = obj.getInt("age");
// 最后输出到控制台
System.out.println(name+"<--->"+age);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
应用实例
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200){
myArr = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myArr[1];
}
};
xmlhttp.open("GET","test.txt",true);
xmlhttp.send();
上一篇: GIT基本操作记录
下一篇: 服务器资源迁移到OSS