设为首页收藏本站
查看: 53|回复: 0

[PHP] PythonJSON

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2017-5-14 02:44:00 | 显示全部楼层 |阅读模式
    本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象。
    Python 2.7 自带 JSON 模块【官方文档】
    1. 从python原始类型向json类型的转换过程,具体的转换如下:

    import json
    json.dump(obj, fp, skipkeys=False,ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

    json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8",default=None, sort_keys=False, **kw)

    python json
    ------------------------------------------
    dict object
    list,tuple array
    str,unicode string
    int,long,float number
    True true
    False false
    None null

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

    >>> f = open('demo.txt','w')
    >>> json.dump(range(100), f)

    # 打开 demo.txt 可以看到
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]



    2. 从 json 类型向 python 的转换过程,具体的转换如下:

    import json
    json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

    json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

    json python
    -----------------------------------------
    object dict
    array list
    string str
    number(int) int
    number(real) float
    true True
    false False
    null None

    >>> import json
    >>> json.loads('{"a": 1, "b": 2, "c": 3}') # string to python objects
    {u'a': 1, u'c': 3, u'b': 2}


    # 1.txt 中的内容
    [{"a": [1, 2, 3, 4, 5]}, {"b": [1, 2, 3]}, {"c": ["English", "Chinese"]}]

    >>> f = open('1.txt')
    >>> json.load(f)
    [{u'a': [1, 2, 3, 4, 5]}, {u'b': [1, 2, 3]}, {u'c': [u'English', u'Chinese']}]


    旧版本 Python 环境配置(Python中自带json模块的用户不用看)
    在使用 Python 编码或解码 JSON 数据前,我们需要先安装 JSON 模块。本教程我们会下载 Demjson 并安装:

    $tar xvfz demjson-1.6.tar.gz
    $cd demjson-1.6
    $python setup.py install


    JSON 函数
    函数
    描述
    encode 将 Python 对象编码成 JSON 字符串
    decode 将已编码的 JSON 字符串解码为 Python 对象

    encode
    Python encode() 函数用于将 Python 对象编码成 JSON 字符串。
    语法

    demjson.encode(self, obj, nest_level=0)


    实例
    以下实例将数组编码为 JSON 格式数据:

    #!/usr/bin/python
    import demjson

    data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]

    json = demjson.encode(data)
    print json


    以上代码执行结果为:

    [{"a":1,"b":2,"c":3,"d":4,"e":5}]


    decode
    Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。
    语法

    demjson.decode(self, txt)


    实例
    以下实例展示了Python 如何解码 JSON 对象:

    #!/usr/bin/python
    import demjson

    json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

    text = demjson.decode(json)
    print text


    以上代码执行结果为:
    {u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表