1、如何读写json数据?

        实际案例:

                在web应用中常用JSON(JavaScript Object Notation)格式传输数据,例如我们利用Baidu语音识别服务器做语音识别,将本地音频数据post到Baidu语音识别服务器,服务器响应结果为json字符串:

                {"corpus_no":"6303355448008565863",

                "err_mg":"sucess.", "err_no":0, "result":["您好,"],

                "sn":"418359718861467614305"}

                在python中如何读写json数据?

        解决方案:

                使用标准库中的json模块,其中loads,dumps函数可以完成json数据的读写。

                注:百度语音识别文档 https://ai.baidu.com/ai-doc/SPEECH/ek38lxj1u

2、代码演示

l = [1, 2, 'abc', {'name': 'Bob', 'age': 13}]
# (1)dumps可以将python对象转换成json字符串
print(json.dumps(l))
# 调整json字符串输出形式,去掉空格
# 将默认分隔符的逗号和冒号去掉空格
print(json.dumps(l, separators=(',', ':')))

d = {'b': None, 'a': 5, 'c': 'abc'}
print(json.dumps(d))
# 对输出的键进行排序,sort_keys默认为False
print(json.dumps(d, sort_keys=True))

# (2)将json字符串转换成python对象
l2 = json.loads('[1, 2, "abc", {"name": "Bob", "age": 13}]')
print(l2[0])
d2 = json.loads('{"b": null, "a": 5, "c": "abc"}')
print(d2)

# (3)load和dump
'''
load和dump与loads和dumps功能是一致的,
只不过接口不一样,load和dump接口是一个文件。
'''
with open('demp.json', 'w') as f:
    # 将json数据写进一个文件当中去
    json.dump(l, f)

with open('demp.json', 'r') as f:
    # 读取demp.json文件内容
    j = json.load(f)
    print(j)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐