金沙注册网站-新金沙官网 新金沙官网 新金沙官网python对json的操作详解,php字符串编码转换

新金沙官网python对json的操作详解,php字符串编码转换

有时候在获取其他的json时候需要转换编码不然json_decode无法解析出来。

Json简介:Json,全名 JavaScript Object
Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。Python的官网网址:ps://docs.python.org/2/library/json.html?highlight=json#module-json
“>

只需要如下简单的一步就可以解决编码的问题

Json API
使用:python在版本2.6之前,是需要先下载包,安装后才能使用的,有点类似现在的RF内使用SeleniumLibrary一样。但是在2.6中,官方文档()明显指出,“有一些重要的新的软件包添加到了标准库,比如multiprocessing
和json,但是跟python
3比,2.6的这些包不会引进更多的新功能。”于是安装python2.6以上版本的童鞋,可以不需要下载json包,直接在所需的地方就import
json 即可使用,在安装目录下的Lib
下,看到这两个包(点进去仔细阅读这些源码,会有更多的收获,)如下文所示:

 $json[1] = iconv("gb2312","utf-8//IGNORE",$json[1]);//gb2312转utf-8

新金沙官网 1          

文章由爱资料原创本文地址:

Python2.6
以上版本支持Json的编码和解码,支持python的大部分内置类型与Json进行转换。最简单的例子如下所示:

 

 代码如下

>>>importjson

>>> data={“spam”:”foo”,”parrot”:42}

>>> in_json=json.dumps(data)# Encode the data

>>> in_json

‘{“parrot”: 42, “spam”: “foo”}’

>>> json.loads(in_json)# Decode into a Python object

{“spam”:”foo”,”parrot”:42}

 

Encode过程,是把python对象转换成json对象的一个过程,常用的两个函数是dumps和dump函数。两个函数的唯一区别就是dump把python对象转换成json对象生成一个fp的文件流,而dumps则是生成了一个字符串:

新金沙官网 2

新金沙官网 3

其他参数的使用都是一样的。以下是部分学习的代码片段:

 

 代码如下

dic1={‘type’:’dic1′,’username’:’loleina’,’age’:16}

json_dic1=json.dumps(dic1)

printjson_dic1

json_dic2=json.dumps(dic1,sort_keys=True,indent=4,separators=(‘,’,’:
‘),encoding=”gbk”,ensure_ascii=True)

printjson_dic2

 

运行结果如下所示:

新金沙官网 4

如果把实例中的key’username’的value换成中文的“测试”,则用第一次不加参数转换则会报错,但是用第二个加参数的就能正常运行。

新金沙官网 5

实际上就是对函数的参数的一个理解过程,下面列出几个常用的参数:

Skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类key

ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似uXXXX的显示数据,设置成False后,就能正常显示

indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据,否则会换行且按照indent的数量显示前面的空白,这样打印出来的json数据也叫pretty-printed
json

separators:分隔符,实际上是(item_separator,
dict_separator)的一个元组,默认的就是(‘,’,’:’);这表示dictionary内keys之间用“,”隔开,而KEY和value之间用“:”隔开。

encoding:默认是UTF-8,设置json数据的编码方式。

sort_keys:将数据根据keys的值进行排序。

 Decode过程,是把json对象转换成python对象的一个过程,常用的两个函数是loads和load函数。区别跟dump和dumps是一样的。

 

 代码如下

if__name__==’__main__’:

  # 将python对象test转换json对象

  test=[{“username”:”测试”,”age”:16},(2,3),1]

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图