xiaomi

个人博客

小米的个人博客,欢迎交流


json - 轻量级数据交换格式

我们保存的数据不能以字典或者列表类型保存,json则是一种很好的轻量级的数据保存的格式。

前提

环境:python 3.x

安装json模块:pip install json


四种操作json字符串的方法

用于json字符串和python数据类型的转换


  • json.loads()

把json格式字符串解码转换成python对象

    listStr = '[1, 2, 3, 4]'
    dictStr = '{"city":"changsha","name":"choudoufu"}'
    # 如果自己定义一个json数据类型,那么字典里面的引号必须用双引号

    pyList = json.loads(listStr)
    pyDict = json.loads(dictStr)
    print("pyList: {}" .format(pyList))
    print("pyDict: {}".format(pyDict))
    
    #--------------------运行结果---------------------#
    pyList: [1, 2, 3, 4]
	pyDict: {'city': 'changsha', 'name': 'choudoufu'}


  • json.dumps()

把python数据类型转化为json字符串,返回一个字符串对象或者是字典类型的字符串

   
    listList = [1, 2, 3, 4]
    listDict = [{"city": " 长沙", "name": "臭豆腐"}]
    pyList = json.dumps(listList, ensure_ascii=False)
    pyDict = json.dumps(listDict, ensure_ascii=False)
    print("pyList: {}".format(pyList))
    print("pyDict: {}".format(pyDict))

    #--------------------运行结果---------------------#
    pyList: [1, 2, 3, 4]   
    pyDict: [{"city": " 长沙", "name": "臭豆腐"}]
    


  • json.dump()

将python内置类型序列化为json对象后写入文件

对文件进行操作

   
    listStr = [{"city": " 长沙", "name": "臭豆腐"}]

    # with open省略file.close()
    with open('listStr.json', 'w',encoding="utf-8") as file:
        json.dump(listStr, file, ensure_ascii=False)
     


  • json.load()

文件从json形式的字符串元素转化成python类型

    f = open('listStr.json', encoding='utf-8')
    listStr = json.load(f)
    print(listStr)
    print(type(listStr))
    f.close()

    #--------------------运行结果---------------------#
    [{'city': ' 长沙', 'name': '臭豆腐'}]
    <class 'list'>


参考资料

b站视频:Python爬虫,网页抓json数据包详细教程,爬虫必备技能


Logging

  • 20190813 add link
  • 20190809 init