Python解析json字符串,json字符串用法


json數據簡介

json數據是一個輕量級的數據交換格式,采用完全獨立於語言的文本格式,這些特性使json稱為理想的數據交換語言,易於人閱讀和編寫,同時易於機器解析和生成。

json的字符集必須是UTF-8json中的字符串必須用雙引號引起。幾乎所有語言都內置了解析json的庫,JavaScript語言可以直接使用json

json格式一般是鍵值對的格式比如

鍵值對{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”}

再比如:

{

“programers”:[

 {“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”},

{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”}

],

“authors”:[

 {“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”},

{“firstName”:”Breet”,”lastName”:”MMM”,”email”:”XXX”}

],

}

json的應用場景:web服務端的go數組->json字符串->網絡傳輸->json字符串->序列化->go數組->信息呈現給用戶。

Python中解析json的庫

import json
# 字典類型轉換為json字符串
data = {"id": 1, 'name': 'sy', 'passwrd': '123123'}

print(type(data))
json_str = json.dumps(data)
print(type(json_str))
print(json_str)

print("*" * 20)

# json字符串轉換為字典類型
json_str2 = '{"programers":[ {"firstName":"Breet","lastName":"MMM","email":"XXX"},'\
            '{"firstName":"Breet","lastName":"MMM","email":"XXX"}], ' \
            '"author": [{"firstName": "su", "lastName": "yang", "email": "XXX"},'\
            '{"firstName": "Breet", "lastName": "MMM", "email": "XXX"}]}'

print(type(json_str2))

data2 = json.loads(json_str2)

print(type(data2))
print(json_str2)
print(data2)

print('*' * 20)

# 將json數據寫入文件,用文件傳送

with open('aaa.json', 'w') as f:
    json.dump(data, f)

with open('aaa.json', 'r') as f:
    data3 = json.load(f)
    print(type(data3))
    print(data3)

 

運行結果:

<class 'dict'>

<class 'str'>

{"id": 1, "name": "sy", "passwrd": "123123"}

********************

<class 'str'>

<class 'dict'>

{"programers":[ {"firstName":"Breet","lastName":"MMM","email":"XXX"},{"firstName":"Breet","lastName":"MMM","email":"XXX"}], "author": [{"firstName": "su", "lastName": "yang", "email": "XXX"},{"firstName": "Breet", "lastName": "MMM", "email": "XXX"}]}

{'programers': [{'email': 'XXX', 'lastName': 'MMM', 'firstName': 'Breet'}, {'email': 'XXX', 'lastName': 'MMM', 'firstName': 'Breet'}], 'author': [{'email': 'XXX', 'lastName': 'yang', 'firstName': 'su'}, {'email': 'XXX', 'lastName': 'MMM', 'firstName': 'Breet'}]}

********************

<class 'dict'>

{'id': 1, 'name': 'sy', 'passwrd': '123123'}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM