json
一、JSON
1.1 概述
JSON
(JavaScript Object Notation
) 是一种轻量级的数据交换格式,易于人阅读和编写。同时也易于机器解析和生成。
JSON
采用完全独立于语言的文本格式,常用于客户端和服务器之间的数据传输。
1.2 数据结构
JSON
构建两种数据结构:数组(Array
)和对象(Object
)
数组在
Python
语言中称为列表(List
);对象在Python
语言中称为字典(Dict
)
数组是值的有序集合。一个数组以左中括号开始,右中括号结束,值之间使用逗号分隔。
['Tom',25,true,null]
对象是一个无序的名/值对集合。一个对象以左花括号开始, 右花括结束。每个名称后跟一个冒号 ,名/值对之间使用逗号分隔。
{
"id":1,
"username":"Tom",
"age":23,
"sex":true
}
1.3 值
值可以是字符串、数值、true
、false
、 null
、对象或者数组,这些结构可以嵌套。
[
["Tom",23,true],
["Rose",21,false],
["Frank",18,true]
]
{
"id" : 1,
"username" : "Tom",
"age" : 25,
"score" : {
"chinese" : 109,
"math" : 150,
"english" : 139
}
}
1.4 字符串
字符串是由双引号包围的任意数量Unicode
字符的集合,使用反斜线转义。一个字符即一个单独的字符串。
{
"id":1,
"subject":"迭代 JSON 对象"
}
1.5 数值
数值为合法的数字表现形式,包括整数、小数及科学计数法。
二、编程语言与JSON
2.1 JavaScript
与JSON
JSON.parse()
方法用于将JSON
格式的字符串转换为JavaScript
对象,其语法结构是:
JSON.parse(text)
其中:
● text
参数指要解析的JSON
格式字符串
JavaScript
代码如下:
var json = '["tom","rose","frank","ben","david"]';
var array = JSON.parse(json);
JSON.stringify()
方法用于将JavaScript
对象转换为JSON
格式的字符串,其语法结构是:
JSON.stringify(value)
其中:
● value
参数指要序列化为JSON
格式的值
JavaScript
代码如下:
var obj = { name: "John", age: 30, city: "New York" };
var str = JSON.stringify(obj)
2.2 Python
与JSON
Python
中,可以使用内置的json
模块来处理JSON
数据。
import json
json.dumps()
方法用于将Python
对象序列化为JSON
格式的字符串,其语法结构是:
json.dumps(obj)
Python
代码如下:
import json
obj = {"name": "John", "age": 30, "city": "New York"}
str = json.dumps(obj)
print(str) # 输出:{"name": "John", "age": 30, "city": "New York"}
json.loads()
方法用于将JSON
格式的字符串反序列化为Python
对象,其语法结构是:
json.loads(s)
Python
代码如下:
import json
str = '{"name": "John", "age": 30, "city": "New York"}'
obj = json.loads(str)