龙空技术网

二、JSON使用之Python编程语言

学为先编程 207

前言:

现在看官们对“pythonjsonlist”大体比较关注,大家都需要知道一些“pythonjsonlist”的相关内容。那么小编也在网上汇集了一些关于“pythonjsonlist””的相关内容,希望朋友们能喜欢,兄弟们一起来学习一下吧!

1. json.loads()

把JSON格式字符串解码转成Python对象,从JSON到Python类型转换表如下:

JSON

Python

object

dict

array

list

string

str

number(int)

int

number(real)

float

true

True

false

False

null

None

将数组转成列表对象

import jsonstrList = "[1,2,3,3,4]"print(json.loads(strList))print(type(json.loads(strList)))

试着运行上面的代码,你会发现已经成功地将strList转换为列表对象。

将对象转换成字典

import jsonstrDict = '{"city":"上海","name":"jack","age":18}'print(json.loads(strDict))print(type(json.loads(strDict)))

试着运行上面的代码,你会发现已经成功地将object转换为dict类型的数据。

2. json.dumps()

其实这个方法也很好理解,就是将Python类型的对象转换为json字符串。从Python类型向JSON类型转换的对照表如下:

python

JSON

dict

object

list, tuple

array

str

string

int, float

number

True

true

False

false

None

null

将Python列表对象转换为JSON字符串

import jsonlist_str = [1,2,3,6,5]print(json.dumps(list_str))print(type(json.dumps(list_str)))

试着运行上面的代码,你会发现成功地将列表类型转换成了字符串类型。

将Python元组对象转换为JSON字符串

import jsontuple_str = (1,2,3,6,5)print(json.dumps(tuple_str))print(type(json.dumps(tuple_str)))

试着运行上面的代码,你会发现成功地将元组类型的数据转换成了字符串。

将Python字典对象转换为JSON字符串

import json dict_str = {"name": "小明", "age":18, "city": "中国深圳"}print(json.dumps(dict_str))print(type(json.dumps(dict_str)))

输出结果:

{"name": "\u5c0f\u660e", "age": 18, "city": "\u4e2d\u56fd\u6df1\u5733"}<class 'str'>

看到上面的输出结果也许你会有点疑惑,其实不需要疑惑,这是ASCII编码方式造成的,因为json.dumps()做序列化操作时默认使用的就是ASCII编码,因此我们可以这样写:

import jsondict_str = {"name": "小明", "age":18, "city": "中国深圳"}print(json.dumps(dict_str, ensure_ascii=False))print(type(json.dumps(dict_str)))

输出结果:

{"name": "小明", "age": 18, "city": "中国深圳"}<class 'str'>

因为ensure_ascii的默认值是True,因此我们可以添加参数ensure_ascii将它的默认值改成False,这样编码方式就会更改为utf-8了。

3. json.load()

该方法的主要作用是将文件中JSON形式的字符串转换为Python类型。

具体代码示例如下:

import jsonstr_list = json.load(open('position.json', encoding='utf-8'))print(str_dict)print(type(str_dict))

运行上面的代码,你会发现成功地将字符串类型的JSON数据转换为了dict类型。

代码中的文件position.json和程序在一个目录内即可。

4. json.dump()

将Python内置类型序列化为JSON对象后写入文件。具体代码示例如下所示:

import jsonlist_str = [{'city':'深圳'}, {'name': '小明'},{'age':18}]dict_str = {'city':'深圳','name':'小明','age':18}json.dump(list_str, open('listStr.json', 'w'), ensure_ascii=False)json.dump(list_str, open('dictStr.json', 'w'), ensure_ascii=False)

标签: #pythonjsonlist