Python JSON 数据解析

#!/usr/bin/python3

import json

# Python 字典类型转换为 JSON 对象
data = {
    'no' : 1,
    'name' : 'Runoob',
    'url' : 'http://www.runoob.com'
}

json_str = json.dumps(data)
print ("Python 原始数据:", repr(data))
print ("JSON 对象:", json_str)

执行以上代码输出结果为:

Python 原始数据: {'url': 'http://www.runoob.com', 'no': 1, 'name': 'Runoob'}
JSON 对象: {"url": "http://www.runoob.com", "no": 1, "name": "Runoob"}

通过输出的结果可以看出,简单类型通过编码后跟其原始的repr()输出结果非常相似。

接着以上实例,我们可以将一个JSON编码的字符串转换回一个Python数据结构:

#!/usr/bin/python3

import json

# Python 字典类型转换为 JSON 对象
data1 = {
    'no' : 1,
    'name' : 'Runoob',
    'url' : 'http://www.runoob.com'
}
json_str = json.dumps(data1)

print ("Python 原始数据:", repr(data1))

输出结果:Python 原始数据: {'name': 'Runoob', 'no': 1, 'url': 'http://www.runoob.com'}

print ("JSON 对象:", json_str)

输出结果:JSON 对象: {"name": "Runoob", "no": 1, "url": "http://www.runoob.com"}

# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)

print ("data2['name']: ", data2['name'])

输出结果:data2['name']:  Runoob

print ("data2['url']: ", data2['url'])

输出结果:data2['url']:  http://www.runoob.com

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:

# 写入 JSON 数据
with open('data.json', 'w') as f:
    json.dump(data, f)

# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)

你可能感兴趣的:(Python JSON 数据解析)