Python笔记9:Python中的json

作者: 世外大帝 | 来源:发表于2017-11-15 14:22 被阅读34次

    介绍

    不了解JSON的可以先取看看json:http://json.org/

    python中有自带的json编码器和解码器

    1. dumps
    2. loads
    3. dump
    4. load

    以上四种方法是python中json的主要处理方法

    区别

    • dumps的模块可以把特定的对象序列化处理为字符串
    # 定义两个序列
    >>> l1 = [1,2,3,123]
    >>> l2 = {'version':1,'code':"test"}
    
    # dumps转换
    >>> newl1 = json.dumps(l1)
    >>> newl2 = json.dumps(l2)
    
    # 检验类型,结果为string类型
    >>> type(newl1)
    <class 'str'>
    >>> type(newl2)
    <class 'str'>
    
    # 验证,结果为字符串类型数据
    >>> newl1
    '[1, 2, 3, 123]'
    >>> newl2
    '{"version": 1, "code": "test"}'
    
    
    • loads模块,和dumps正好相反,就是对字符串进行反序列化的,前提是要符合被转换格式的字符串
    # loads转换
    >>> json.loads(newl1)
    [1, 2, 3, 123]
    >>> json.loads(newl2)
    {'version': 1, 'code': 'test'}
    # 证明类型
    >>> type(json.loads(newl1))
    <class 'list'>
    >>> type(json.loads(newl2))
    <class 'dict'>
    

    首先要导入json库
    >>> import json

    json排序

    sort_keys默认缺省,值默认为False

    >>> test_json = {"c":'this is C',"b":"this is B","a":'this is A'}
    >>> json.dumps(test_json,sort_keys=True)
    '{"a": "this is A", "b": "this is B", "c": "this is C"}'
    

    紧凑编码 和 缩进

    # 紧凑编码
    >>> json.dumps([1,2,3,{'4' :  5, "6" :  7}], separators=(',',':'))
    '[1,2,3,{"4":5,"6":7}]'
    
    # 缩进
    >>> print(json.dumps({"1":2,"2":3,"3":4},sort_keys=True,indent = 4))
    {
        "1": 2,
        "2": 3,
        "3": 4
    }
    # 不用print输出的是\n
    

    json解码

    # load
    >>> x = open("test.json")
    >>> json.load(x)
    {'version': 1, 'code': 'abcdefg'}
    
    # loads
    >>> json.loads('{"version":1,"code":"test"}')
    {'version': 1, 'code': 'test'}
    

    相关文章

      网友评论

        本文标题:Python笔记9:Python中的json

        本文链接:https://www.haomeiwen.com/subject/mdncvxtx.html