加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python解析JSON实现方法

发布时间:2020-12-17 07:14:33 所属栏目:Python 来源:网络整理
导读:对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! JSON 函数 使用 JSON 函数需要导入 json 库:import json。 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Pyt
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

JSON 函数

使用 JSON 函数需要导入 json 库:import json。

 

函数 描述

json.dumps 将 Python 对象编码成 JSON 字符串

json.loads 将已编码的 JSON 字符串解码为 Python 对象

 

json.dumps

语法

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 格式数据:


# @param Python解析JSON详解
# @author 编程之家 52php.cn|512Pic.com 

#!/usr/bin/python
import json
data = {'number': 6,'name': 'Pythontab'}
jsonData = json.dumps(data)
print jsonData

# End www.52php.cn

以上代码执行结果为:


{"number": 6,"name": "Pythontab"}

# End www.52php.cn

注意: 大家可能发现,执行上述转换以后,数据并没有发生变化,这里要说一下: 在json中双引号才是标注的字符串分割符号,单引号不标准。

 

使用参数让 JSON 数据排序并格式化输出:


# @param Python解析JSON详解
# @author 编程之家 52php.cn|512Pic.com 

#!/usr/bin/python
import json
data = {'number': 6,'name': 'Pythontab'}
jsonData = json.dumps(data,sort_keys=True,indent=4,separators=(',',': '))
print jsonData

# End www.52php.cn

输出结果


{
    "name": "Pythontab","number": 6
}

# End www.52php.cn

python 原始类型向 json 类型的转化对照表:

Python JSON
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null


json.loads

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

 

语法

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

 

实例

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


# @param Python解析JSON详解
# @author 编程之家 52php.cn|512Pic.com 

#!/usr/bin/python
import json
jsonData = '{"number": 6,"name": "Pythontab"}'
str = json.loads(jsonData)
print str

# End www.52php.cn

以上代码执行结果为:


{u'number': 6,u'name': u'Pythontab'}

# End www.52php.cn

 

json 类型转换到 python 的类型对照表:

JSON Python
object dict
array list
string unicode
number (int) int,long
number (real) float
true True
false False
null None


使用第三方库:Demjson

Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。

 

Github 地址:https://github.com/dmeranda/demjson

 

环境配置

 

在使用 Demjson 编码或解码 JSON 数据前,我们需要先安装 Demjson 模块。

方法1:源码安装

$ tar -xvzf demjson-2.2.4.tar.gz

$ cd demjson-2.2.4

$ python setup.py install

 

方法2:直接使用pip安装

pip install Demjson

 

JSON 函数

函数 描述

encode 将 Python 对象编码成 JSON 字符串

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

 

encode语法

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

 

decode语法

demjson.decode(self,txt)

 

使用都非常简单,我就不在这里举例啦~~

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读