Python对象和JSON对象的转化

JSON格式

  1. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写。我们平时接口的入参和出参都是通过JSON的格式来传输的。
  2. 相关模块为JSON,可通过import json导入。picle模块也能处理json格式。这两个模块都包含四种方法dumps、dump、loads、load。
  3. json模块:json.dumps是将Python对象编码为JSON字符串,单引号引起来的字符串,将所有的基本数据类型格式化为字符串。json.loads是将已编码的JSON字符串解码为Python对象。所以dumps是将python对象序列化为str,dump是将序列化后的str写入到了文件,所以使用dump是要搭配着文件操作一起实现json格式。
  4. loads和load就是反序列化,同理load也是意味着要通过读取文件内容后来反序列化json内容为python对象。
    >>> data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
    >>> data2 = json.dumps(data)
    >>> data2
    '[{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]'
    >>> data3 = json.loads(data2)
    >>> data3
    [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
    
    ################
    # dump、dumps
    # coding = gbk
    import json
    dicta = {"age":18, "name":"chang",}
    with open("test.json", "w", encoding='utf-8') as fp:
        # indent 格式化保存字典,默认为None,小于0为零个空格
        json.dump(dicta, fp, indent=4)
        # f.write(json.dumps(a, indent=4)) 
    执行结果是:
    {
        "age": 18,
        "name": "chang"
    }
    	
    ################
    #python对象与json对象的对应关系
    	+-------------------+---------------+
        | Python            | JSON          |
        +===================+===============+
        | dict              | object        |
        +-------------------+---------------+
        | list, tuple       | array         |
        +-------------------+---------------+
        | str               | string        |
        +-------------------+---------------+
        | int, float        | number        |
        +-------------------+---------------+
        | True              | true          |
        +-------------------+---------------+
        | False             | false         |
        +-------------------+---------------+
        | None              | null          |
        +-------------------+---------------+

猜你喜欢

转载自blog.csdn.net/chang_jinling/article/details/113698657
今日推荐