`

python simplejson模块的使用方法

阅读更多
python安装:easy_install simplejson
导入模块:

import simplejson as json

几个主要函数:dump,dumps,load,loads 带s跟不带s的区别是 带s的是对 字符串的处理,而不带 s的是对文件对像的处理。
json化python字典数据:

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

'["foo", {"bar": ["baz", null, 1.0, 2]}]' 

 print json.dumps("\"foo\bar") 
 "\"foo\bar"

sort_keys设置是否排序字典:

print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True) 
{"a": 0, "b": 0, "c": 0}

创建文件流对象:

from StringIO import StringIO 
io = StringIO()

把 json编码数据导向到此文件对象:

json.dump(['streaming API'], io)

取得文件流对象的内容:

io.getvalue() 
'["streaming API"]'

压缩编码:

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

美化打印:

import simplejson as json 
s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent='    ') 
print '\n'.join([l.rstrip() for l in  s.splitlines()]) 
    "4": 5, 
    "6": 7 
}

解析json字符串:

obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}] 
json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == obj 
True 
json.loads('"\\"foo\\bar"') == u'"foo\x08ar' 
True 
from StringIO import StringIO 
io = StringIO('["streaming API"]') 
json.load(io)[0] == 'streaming API' 
True

指定json解析后的对象:

import simplejson as json 
def as_complex(dct): 
    if '__complex__' in dct: 
        return complex(dct['real'], dct['imag']) 
    return dct 

json.loads('{"__complex__": true, "real": 1, "imag": 2}', 
    object_hook=as_complex) 
(1+2j) 
from decimal import Decimal 
json.loads('1.1', parse_float=Decimal) == Decimal('1.1') 
True

指定编码对象的格式:

import simplejson as json 
def encode_complex(obj): 
    if isinstance(obj, complex): 
        return [obj.real, obj.imag] 
    raise TypeError(repr(o) + " is not JSON serializable") 

json.dumps(2 + 1j, default=encode_complex) 
'[2.0, 1.0]' 
json.JSONEncoder(default=encode_complex).encode(2 + 1j) 
'[2.0, 1.0]' 
''.join(json.JSONEncoder(default=encode_complex).iterencode(2 + 1j)) 
'[2.0, 1.0]'
分享到:
评论

相关推荐

    详解Python使用simplejson模块解析JSON的方法

    ### 详解Python使用simplejson模块解析JSON的方法 #### 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。由于其简洁易读的特点,它被广泛应用于Web应用之间以及服务器端的数据传输。...

    python中的simplejson模块

    Python中的`simplejson`模块是Python标准库`json`的一个补充,主要在Python 2.6及更早版本中使用,因为那时Python的标准库还没有完全支持JSON。`simplejson`库提供了一个高效的JSON编码和解码接口,符合ECMAScript ...

    PyPI 官网下载 | simplejson-3.17.5.tar.gz

    在Python的世界里,`PyPI`(Python Package Index)是官方的第三方软件包仓库,它为开发者和使用者提供了大量的Python模块和库。`simplejson`是Python中的一个JSON(JavaScript Object Notation)解析器和序列化器,...

    simplejson-3.5.2.zip

    《深入解析simplejson模块》 在Python编程领域,数据序列化和反序列...了解并掌握其使用方法,对于提升Python项目的性能和可维护性具有重要意义。无论是新手还是经验丰富的开发者,都应重视对simplejson的了解和实践。

    simplejson-3.6.5

    **二、simplejson模块的使用** 1. **安装**:要使用`simpljson`,首先需要通过`pip`进行安装,命令如下: ``` pip install simplejson ``` 2. **导入**:安装完成后,可以像导入其他模块一样导入`simplejson`:...

    详解python 3.6 安装json 模块(simplejson)

    JSON 相关概念: 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输...python2.6版本开始加入了JSON模块,python的json模块序列化与反序列化的过程分别是encoding和decoding。 encoding:把

    Python示例-从基础到高手PDF

    目录 第1章 Python 处理 cassandra 升级后的回滚脚本 第 2 章 多套方案来提高 ...第 29 章 python simplejson 模块浅谈 第 30 章 python Howto 之 logging 模块 第 31 章 Python FAQ3-python 中 的原始(raw)字符串

    PyPI 官网下载 | simplejson-3.4.0.tar.gz

    尽管Python标准库自2.6版本起就内置了`json`模块,但`simplejson`在某些情况下(如性能优化或兼容旧版Python)仍被广泛使用。 在`simplejson-3.4.0`这个版本中,我们可以期待以下特性: 1. **高性能**:`...

    simplejson-2.6.1.tar.gz

    3. **标准化**:尽管`simplejson`性能出色,但Python 3.x的`json`模块已经非常成熟,并且是Python官方推荐的JSON处理方式,因此在新项目中,使用`json`可能更为合适。 四、`simplejson-2.6.1`使用示例 以下是一些...

    python模块下载及安装方法.docx

    掌握了这些模块的使用方法,将极大地提升Python开发者的工作效率和项目的质量。需要注意的是,随着技术的发展,部分库可能已经更名或有更新的替代品出现,在实际使用前建议查阅最新的官方文档获取最准确的信息。

    simplejson-2.6.0.tar.gz

    然而,有一个名为`simplejson`的第三方库,虽然它的功能与内置的json模块相似,但在某些特定场景下,如旧版本Python或需要更高效性能时,`simplejson`可能是一个更好的选择。 本文将详细讲解`simplejson`库,包括其...

    SimpleJson

    simplejson模块主要用于将Python数据类型和json类型互相转换。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON采用独立于语言的文本格式,但是...

    simplejson-2.0.9.tar.gz

    4. **速度优化**:`simplejson`在某些场景下比Python内置的`json`模块更快,因为它使用了C语言实现的部分代码。 5. **兼容性**:`simplejson`库在Python 2.x和3.x之间保持了一致的API,这使得在不同Python版本间...

    linux_simplejson-3.13.2.tar.gz

    在python中,我理解的simplejson模块就是主要用于将python数据类型转换为json类型。 json文件类型: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。...

    simplejson-2.1.1.tar.gz

    3. 更丰富的API:simplejson提供了与Python标准库json模块相似的API,如`dumps()`和`loads()`,同时增加了一些额外功能,如`use_decimal=True`参数,可以将JSON中的数字解析为Python的decimal类型,以保证精度。...

    simplejson-2.1.0.tar.gz

    与Python内置的`json`模块相比,`simplejson`在某些情况下能提供更快的解析速度,同时保持与Python内建JSON模块的API一致性,使得开发者可以无缝切换。 在`simplejson-2.1.0`中,主要包含以下几个核心功能: 1. **...

    PyPI 官网下载 | simplejson-3.0.7.tar.gz

    1. **速度优化**:通过C语言扩展实现,simplejson的序列化和反序列化速度比Python内置的json模块快,尤其在处理大量数据时,这种优势更为显著。 2. **兼容性**:简单json不仅兼容Python 2.x,也支持Python 3.x,确保...

Global site tag (gtag.js) - Google Analytics