zoukankan      html  css  js  c++  java
  • python模块之json

    json的意义:

    1. 把你的内存数据通过网络共享给远程其他人
    2. 定义了不同语言之间的交互规则
    3. 简单、可读性好。纯文本不能共享复杂的数据类型,xml空间大。

    代码示例:

    import json
    
    
    data = {
    
        'roles': [
            {'role': 'monster', 'type': 'pig', 'life': 50},
            {'role': 'hero', 'type': '关羽', 'life': 80},
        ]
    }
    
    # dump & dumps
    
    with open('test.json', 'w') as f:
        d = json.dump(data, f)  # dump不止转换成字符串,还能存到文件里,后面需要写文件对象
    
    d = json.dumps(data)  # 仅仅转成字符串
    
    # load & loads
    
    d2 = json.loads(d)
    print(d2['roles'])  # 把字符串转成相应的字符类型
    
    with open('test.json', 'r') as f:
        data = json.load(f)
    
    print(data)  # 加载对象需要是文件
    
    
    # dump多次
    
    d = {'name': 'alex', 'age': 22}
    l = [1, 2, 3, 4, 'rain']
    with open('json_file', 'w', encoding='utf-8') as f:
        json.dump(d, f)
        json.dump(l, f)
    
    # load 多次
    
    with open('json_file', 'r', encoding='utf-8') as f:
        json.load(f)  # json.decoder.JSONDecodeError: Extra data: line 1 column 28 (char 27)
    
    # 结论:为了避免各种问题,python3里面的load不支持dump了多次的文件,虽然python2支持,但是也不建议dump多次,因为容易出问题,比如忘记了自己dump了多少次
  • 相关阅读:
    1265 四点共面
    1003 阶乘后面0的数量
    1080 两个数的平方和
    1090 3个数和为0
    1087 1 10 100 1000
    1082 与7无关的数
    OpenLayers工作原理
    CI(持续集成)CD(持续交付)
    打包命令
    文件与目录管理重点
  • 原文地址:https://www.cnblogs.com/lshedward/p/10003356.html
Copyright © 2011-2022 走看看