最近需要用到json,所以过来学习一下,充下电,顺便把笔记记在这里。
1. 什么是json?
- JSON,全称是 JavaScript Object Notation,即 JavaScript对象标记法。
- JSON是轻量级的文本数据交换格式
- JSON独立于语言,具有自我描述性,更易理解.
- JSON比xml更小、更快、更易解析。
{
“employees”:[
{“firstName”:“John”, “lastName”:“Doe”},
{“firstName”:“ami”, “lastName”:“soe”},
{“firstName”:“Peter”, “lastName”:“Jones”}]
}
访问以上元素:employees[0],lastName = “Jobs”;
2.python中json标准库的作用
1、使用json字符串生成python对象(load)
2、由python对象格式化成为json字符串(dump)
3.数据类型转换
python转JSON
Python | JSON |
---|---|
dict | object |
list,tuple | array |
str | string |
int,float | number |
True | true |
False | false |
None | null |
JSON转python
JSON | Python |
---|---|
object | dict |
array | list |
string | str |
number(int) | int |
true | True |
false | False |
null | None |
number(real) | float |
4.使用方法
5.使用示例
import json
# 字典转化为json
person = {"name": "lange", "age": "30", "tel": ["12345678910", "98123456781"]}
print(person)
jsonstr = json.dumps(person, indent=4, sort_keys=True) # ’indent‘格式化的输出,‘sort_keys’排序
print(jsonstr)
# json.dump()是用来对json文件做处理的
json.dump(person, open('data.json', 'w'), indent=4)
str_data = '{"name": "lange", "age": "30", "tel": ["12345678910", "98123456781"]}'
py_Obj = json.loads(str_data)
print(py_Obj)
print(type(py_Obj))
str_list_data = '["A", 1, "age", {"f": true, "l": "sniper"}]'
pythonobj = json.loads(str_list_data)
print(pythonobj)
print(type(pythonobj))
python_obj = json.load(open('emplyees.json', 'r'))
print(python_obj)
print(type(python_obj))
对应的data.json
{
"name": "lange",
"age": "30",
"tel": [
"12345678910",
"98123456781"
]
}
对应的emplyees.json
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"ami", "lastName":"soe"},
{"firstName":"Peter", "lastName":"Jones"}]
}