一、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字符集將中文字符集正確編碼。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/304275.html