json文件处理

版权声明: https://blog.csdn.net/djs123DJS/article/details/84442668

json文件处理
什么是json
JsON( JavaScript Object Notation,Js对象标记是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的s规范)的集,采用完全独立于编程语言的文本格式存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json完全独立于语言 的,在python,java等其他语言也可以操作json。前端和后端进行数据交换的时候采用的是json

json支持数据格式
1.json中叫对象(拿到python中就叫字典)。使用花括号{}。
2json中叫数组(拿到python中就叫列表)。使用方括号[]。
3.整形、浮点型,布尔类型,null类型。
4.字符串类型(json中字符串必须要用双引号,不能用单引号)多个数据之间使用逗号分开。
注意:json本质上就是一个字符串.

在python中只有基本的数据类型才能转换成json格式的字符串,即int, list  ,dict,  tuple(元组),str, float (浮点型)。

其他类型是不允许的。

json.dumps(),不能写进文件中的,json.dump可以,加s的跟文件没有关系,没有加s的跟文件有关系。

#_author:'DJS'
#date:2018-11-24

import json
#将python对象装换成json字符串

# persons = [
#     {
#     'username':'张三',
#     'age':'10',
#     'country':'china'
#          },#字典中要用逗号隔开
#     {
#         'username':'李四',
#         'age':'20',
#         'country':'china'
#
#     }
# ]
#把字典转换成json字符串
# json_str = json.dumps(persons)
# print(json_str)
# print(type(json_str))

# with open('person.json','w',encoding='utf-8') as f:
#     json.dump(persons,f,ensure_ascii=False)#ensure_ascii=False不是以默认的编码输出,这个写成flase后
    #就要对他进行指定编码输出
    #json.dump直接把python的字典写入json文件中,而不需要转换

#json.loads('json对象')#这个把json对象转换成python字典
json_str = '[{"username": "张三", "age": "10", "country": "china"}, ' \
           '{"username": "李四", "age": "20", "country": "china"}]'

persons = json.loads(json_str) #loads不用管编码,默认是utf-8
print(persons)
# with open('person.json','r',encoding='utf-8') as f: #load要指定编码 r是以读的方式打开,w是以写的方式打开
#     persons = json.load(f) #直接读取json文件并且把他转换成python数据类型(可能是列表,可以是字典)
#     print(persons)
#     print(type(persons))

猜你喜欢

转载自blog.csdn.net/djs123DJS/article/details/84442668