一、JSON字符串转JSON对象
1、JSON字符串:
{ "name": "John", "age": 30, "city": "New York" }
2、解析方法:
使用Python中的json.loads()函数可以将JSON字符串解析成对应的JSON对象,使用方法如下:
import json json_str = '{ "name": "John", "age": 30, "city": "New York" }' json_obj = json.loads(json_str) print(json_obj)
输出结果为:
{'name': 'John', 'age': 30, 'city': 'New York'}
3、使用方法说明:
json.loads()函数的参数为待解析的JSON字符串,返回值为对应的JSON对象。需要注意的是,JSON字符串必须符合JSON语法规范,否则将会报错。
二、JSON对象转JSON字符串
1、JSON对象:
{ "name": "John", "age": 30, "city": "New York" }
2、转换方法:
使用Python中的json.dumps()函数可以将JSON对象转换成对应的JSON字符串,使用方法如下:
import json json_obj = { "name": "John", "age": 30, "city": "New York" } json_str = json.dumps(json_obj) print(json_str)
输出结果为:
{"name": "John", "age": 30, "city": "New York"}
3、使用方法说明:
json.dumps()函数的参数为待转换的JSON对象,返回值为对应的JSON字符串。需要注意的是,转换后的JSON字符串并不一定是按键的字母序排列的,这取决于Python的字典实现方式。
三、处理复杂JSON数据
1、嵌套JSON对象:
{ "name": "John", "age": 30, "city": "New York", "children": [ { "name": "Mary", "age": 4 }, { "name": "Tom", "age": 2 } ] }
2、处理方法:
使用Python中的json.loads()函数解析嵌套JSON对象后,可以将嵌套的JSON对象以Python中的嵌套字典和列表的形式表示出来,示例代码如下:
import json json_str = '{ "name": "John", "age": 30, "city": "New York", "children": [ { "name": "Mary", "age": 4 }, { "name": "Tom", "age": 2 } ] }' json_obj = json.loads(json_str) print(json_obj['children'][0]['name']) # 输出 Mary
3、使用方法说明:
使用json.loads()函数解析嵌套JSON对象后,可以按照Python中嵌套字典和列表的方式访问嵌套的JSON数据。
四、处理JSON中的日期数据
1、日期格式:
{ "name": "John", "birth": "1985-05-15", "city": "New York" }
2、处理方法:
使用Python中的datetime模块,可以将日期字符串解析成对应的日期对象,并且可以将日期对象格式化成指定的日期字符串。示例代码如下:
import json from datetime import datetime json_str = '{ "name": "John", "birth": "1985-05-15", "city": "New York" }' json_obj = json.loads(json_str) birth_str = json_obj['birth'] birth_obj = datetime.strptime(birth_str, '%Y-%m-%d') print('Birth year is:', birth_obj.year)
3、使用方法说明:
使用datetime.strptime()函数可以将日期字符串解析成对应的日期对象,需要指定日期字符串的格式。使用datetime.strftime()函数可以将日期对象格式化成指定的日期字符串。
五、处理JSON中的中文字符集
1、JSON字符串:
{ "name": "张三", "age": 30, "city": "北京" }
2、处理方法:
使用Python中的json.dumps()函数时,指定ensure_ascii=False参数,可以将中文字符集正确的编码成Unicode字符集。示例代码如下:
import json json_obj = { "name": "张三", "age": 30, "city": "北京" } json_str = json.dumps(json_obj, ensure_ascii=False) print(json_str)
输出结果为:
{"name": "张三", "age": 30, "city": "北京"}
3、使用方法说明:
ensure_ascii=False参数表示不使用默认的ASCII编码,而是使用Unicode字符集将中文字符集正确编码。