本章我们将介绍如何使用Python语言对JSON对象进行编解码。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人类读写。JSON函数需要导入json库才能使用JSON函数:importjson.函数说明json.dumps将Python对象编码为JSON字符串json.loads将编码后的JSON字符串解码为Python对象json.dumpsjson.dumps用于将Python对象编码为JSON字符串。语法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)例子下面的例子将数组编码成JSON格式的数据:`importjsondata=[{'a':1,'b':2,'c':3,'d':4,'e':5}]json=json.dumps(data)printjson`以上代码的执行结果为:[{"a":1,"c":3,"b":2,"e":5,"d":4}]使用参数格式化JSON数据输出:`importjsonprintjson.dumps({'a':'Runoob','b':7},sort_keys=True,indent=4,separators=(',',':')){"a":"Runoob","b":7}`Python原始类型转json类型对照表:PythonJSONdictobjectlist,tuplearraystr,unicodestringint,long,floatnumberTruetrueFalsefalseNonenulljson。loadsjson.loads用于解码JSON数据。该函数返回Python字段的数据类型。语法json.loads(s[,encoding[,cls[,object_hook[,parse_float[,parse_int[,parse_constant[,object_pairs_hook[,**kw]]]]]]])示例下面的示例展示了Python如何解码JSON对象:`importjsonjsonData='{"a":1,"b":2,"c":3,"d":4,"e":5}';text=json.loads(jsonData)printtext`以上代码的执行结果为:{u'a':1,u'c':3,u'b':2,u'e':5,u'd':4}JSON类型转python类型对照表:JSONPythonobjectdictarrayliststringunicodenumber(int)int,longnumber(real)floattrueTruefalseFalsenullNone更多内容参考:https://docs.python.org/2/lib....使用第三方库:DemjsonDemjson是python的第三方模块库,可用于对JSON数据进行编码和解码,包括JSONLint的格式化和验证功能。Github地址:https://github.com/dmeranda/d...官方地址:http://deron.meranda.us/pytho...环境配置在使用Demjson对JSON数据进行编码或解码之前,我们需要安装Demjson模块。在本教程中,我们将下载并安装Demjson:`$tar-xvzfdemjson-2.2.3.tar.gz$cddemjson-2.2.3$pythonsetup.pyinstall`有关更多安装说明,请查看:http://deron.meranda.us/pytho...JSON函数函数说明encode将Python对象编码为JSON字符串decode将编码后的JSON字符串解码为Python对象encodePythonencode()函数用于将Python对象编码为JSON字符串。语法demjson.encode(self,obj,nest_level=0)示例以下示例将数组编码为JSON格式数据:`importdemjsondata=[{'a':1,'b':2,'c':3,'d':4,'e':5}]json=demjson.encode(data)printjson`以上代码的执行结果为:[{"a":1,"b":2,"c":3,"d":4,"e":5}]decodePython可以使用demjson.decode()函数来解码JSON数据。该函数返回Python字段的数据类型。语法demjson.decode(self,txt)示例以下示例显示Python如何解码JSON对象:`importdemjsonjson='{"a":1,"b":2,"c":3,"d":4,"e":5}';text=demjson.decode(json)printtext`以上代码执行结果为:{u'a':1,u'c':3,u'b':2,u'e':5,u'd':4}原文链接:https://json.im/jichu/python-...
