json简介
json:JavaScript Object Notation(JavaScript 对象表示法),和xml类似,是存储和交换文本信息的一种格式 json是js对象的字符串表示法,它使用文本表示一个js对象的信息,本质上是一个字符串。
json格式的文本通常保存为.json
可以把json格式字符串看成js对象前后加了一个引号 也可以把json格式字符串看成python字典前后加了一个引号
json语法
键值对存储数据信息 数据之间用逗号分割 花括号{}保存对象 方括号[]保存数组
value类型
json的值可以是数字(整数或浮点数) 、字符串 、逻辑值 、数组 、对象 、null 并且对象之间可以嵌套,下面是语法示例
{
"key1":"a string",
"key2":1,
"key3":3.14,
json对象
"key4":{
"name":"name1",
"age":1
},
数组类型
"key5":[1,2,3,4,5],
"key6":["a", "b"],
"key7":[
{
"name":"name1",
"age":1
},
{
"name":"name2",
"age":12
}
],
空类型
"key8":null
}
并且可以通过点运算符. 加key的名字来得到对应的value。
json格式与js对象转换
使用JSON.parse() 将json格式数据转成js的对象
var obj = JSON.parse('{ "name":"baidu", "site":"www.baidu.com" }');
使用JSON.stringify() 将js对象转换为json格式字符串。
var obj = { "name":"baidu", "site":"www.baidu.com" }
var string = JSON.stringify(obj)
json格式与python字典转换
dumps把数据类型转换成字符串 dump把数据类型转换成字符串并存储在文件中 loads把字符串转换成数据类型 load把文件打开从字符串转换成数据类型
dumps把数据类型转换成json格式字符串
import json
lab_dict = {"name":"baidu", "url":"www.baidu.com"}
print(lab_dict)
print(type(lab_dict))
json_str = json.dumps(lab_dict)
print(json_str)
print(type(json_str))
运行结果↓
{'name': 'baidu', 'url': 'www.baidu.com'}
<class 'dict'>
{"name": "baidu", "url": "www.baidu.com"}
<class 'str'>
loads把json格式字符串转换成数据类型
import json
json_str ='{"name":"baidu", "url":"www.baidu.com"}'
lab_dict = json.loads(json_str)
print(lab_dict)
print(type(lab_dict))
运行结果↓
{'name': 'baidu', 'url': 'www.baidu.com'}
<class 'dict'>
dump把数据类型转换成字符串并存储在文件中
import json
lab_dict ={"name":"baidu", "url":"www.baidu.com"}
with open("./lab.json", "w") as fp:
json.dump(lab_dict, fp)
load把文件打开从字符串转换成数据类型
import json
with open("./lab.json", "r") as fp:
lab_dict = json.load(fp)
fp.close()
print(lab_dict)
|