python 读写json数据

json 模块提供了一种很简单的方式来编码和解码JSON 数据。

字符串操作

其中两个主要的函数是json.dumps() 和json.loads() ,要比其他序列化函数库如pickle 的接口少得多。下面演示

1.如何将一个Python 数据结构转换为JSON

2.如何将一个JSON 编码的字符串转换回一个Python 数据结构

import json
data={
    'name':'AWQA',
    'shares':100,
    'price':542.33
    }
json_str=json.dumps(data)
print(json_str)
data1=json.loads(json_str)
print(data1)

 

 

文件操作

dump: 将数据写入json文件中

load:把文件打开,并把字符串变换为数据类型

import json

data={
    'name':'AWQA',
    'shares':100,
    'price':542.33
    }
'''

with open(r'C:\Temp\aa.json','w') as f:
    json.dump(data,f)

'''
with open(r'C:\Temp\aa.json','r') as f:
    loadfile=json.load(f)
    print(loadfile)

 

 

JSON 编码支持的基本数据类型为None , bool , int , float 和str ,以及包含这些类型数据的lists,tuples 和dictionaries。对于dictionaries,keys 需要是字符串类型(字典中任何非字符串类型的key 在编码时会先转换为字符串)。为了遵循JSON规范,应该只编码Python 的lists 和dictionaries。而且,在web 应用程序中,顶层对象被编码为一个字典是一个标准做法。
JSON 编码的格式对于Python 语法而已几乎是完全一样的,除了一些小的差异之外。比如,True 会被映射为true,False 被映射为false,而None 会被映射为null。下面是一个例子,演示了编码后的字符串效果:

>>> json.dumps(False)
'false'
>>> d = {'a': True,
... 'b': 'Hello',
... 'c': None}
>>> json.dumps(d)
'{"b": "Hello", "c": null, "a": true}'

 

posted @ 2019-02-25 14:43  筱筱的春天  阅读(3023)  评论(0编辑  收藏  举报