• python对json的相关操作


    什么是json:

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

    JSON建构于两种结构:

    “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 
    值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 
    这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

    jso官方说明参见:http://json.org/

    Python操作json的标准api库参考:http://docs.python.org/library/json.html

    Encoding 编码

    json.dumps 将一个Python对象 转换成json对象

     

    >>> import json
    >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
    '["foo", {"bar": ["baz", null, 1.0, 2]}]'
    >>> print json.dumps(""fooar")
    ""fooar"
    >>> print json.dumps(u'u1234')
    "u1234"
    >>> print json.dumps('\')
    "\"
    >>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
    {"a": 0, "b": 0, "c": 0}

    dumps对象与对象之间的默认划分方式是:,  和:

    >>> import json
    >>> json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))
    '[1,2,3,{"4":5,"6":7}]'

    为了使得输出结果比较好看,可以利用indent进行首行缩进

    json01 = json.dumps([['foo',{'bar':('baz',None,1.0,2)}],['foo1',{'bar1':('baz1',2.0,2.0,12)}]],indent=4)
    print json01 
    [
        [
            "foo", 
            {
                "bar": [
                    "baz", 
                    null, 
                    1.0, 
                    2
                ]
            }
        ], 
        [
            "foo1", 
            {
                "bar1": [
                    "baz1", 
                    2.0, 
                    2.0, 
                    12
                ]
            }
        ]
    ]

    sort_keys = True 可以按照升序排序

    print json.dumps({'b': 15, 'a': 7}, sort_keys=True,indent=4)
    {
        "a": 7, 
        "b": 15
    }

    读取json数据

    >>> import json
    >>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
    [u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
    >>> json.loads('"\"foo\bar"')
    u'"foox08ar'

    类型转换和上面相反

    参考:http://www.cnblogs.com/coser/archive/2011/12/14/2287739.html

  • 相关阅读:
    Azure虚拟机部署Linux+PHP+Swoole
    [经验分享]OBS 如何实现多路推流
    SQL Server 中的登陆用户如何只看到指定的数据库
    NCF 数据库错位导致站点访问不了
    AutoIT+Selenium的使用
    2019年入职体检那些事
    Jmeter 针对工具类的每个方法进行测试
    Effective Jmeter:记录一些场景下有效的解决方案
    通过 Test Fragment + Module Controller 封装登录接口
    在setUp线程组中初始化全局工具类
  • 原文地址:https://www.cnblogs.com/theskulls/p/5096643.html
Copyright © 2020-2023  润新知