Python JSON

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:

  • json.dumps(): 对数据进行编码。字典->字符串
  • json.loads(): 对数据进行解码。字符串-?字典
import json

# s="{'name':'Tom'}"#json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
s='{"name":"Tom"}'
print(type(s))
s=json.loads(s)
print(type(s))
print(s)#{'name': 'Tom'}
s=json.dumps(s)
print(type(s))
print(s)

json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中。

d=dict(name="Jerry",gender="male",age=16)
d1=dict(country="China")
with open("p_load.json","a+") as f:
    f.write("[")
    json.dump(d,f)
    f.write(",")
    json.dump(d1, f)
    f.write("]")

此时就可以在.json中写入数据,一定要记得json数据的格式,首尾的方括号和每组数据之间的逗号,否则在load数据时会报错:

json.decoder.JSONDecodeError: Extra data: line 1 column 47 (char 46)

json.load加载json格式文件。

with open("p_load.json","r") as f:
    info = json.load(f)
    print(info)

 

posted @ 2020-03-16 00:52  腹肌猿  阅读(221)  评论(0编辑  收藏  举报