日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python3 JSON处理

發(fā)布時間:2025/4/14 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3 JSON处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Python3 中可以使用 json 模塊來對 JSON 數(shù)據(jù)進行編解碼,它包含了兩個函數(shù):

  • json.dumps():?對數(shù)據(jù)進行編碼。
  • json.loads():?對數(shù)據(jù)進行解碼。

Python編碼-->JSON 類型轉換對應表:

PythonJSON
dictobject
list, tuplearray
strstring
int, float, int- & float-derived Enumsnumber
Truetrue
Falsefalse
Nonenull

?

?

?

?

?

?

JSON解碼? -->Python 類型轉換對應表:

JSONPython
objectdict
arraylist
stringstr
number (int)int
number (real)float
trueTrue
falseFalse
nullNone

?

?

?

?

?

?

?

?

#!/usr/bin/python3import json# Python 字典類型轉換為 JSON 對象 data = {'no' : 1,'name' : 'Runoob','url' : 'http://www.runoob.com' }json_str = json.dumps(data) print ("Python 原始數(shù)據(jù):", repr(data)) print ("JSON 對象:", json_str)

輸出結果為:

Python 原始數(shù)據(jù): {'url': 'http://www.runoob.com', 'no': 1, 'name': 'Runoob'} JSON 對象: {"url": "http://www.runoob.com", "no": 1, "name": "Runoob"}

通過輸出的結果可以看出,簡單類型通過編碼后跟其原始的repr()輸出結果非常相似。

接著以上實例,我們可以將一個JSON編碼的字符串轉換回一個Python數(shù)據(jù)結構:

# 將 JSON 對象轉換為 Python 字典 data2 = json.loads(json_str) print ("data2['name']: ", data2['name']) print ("data2['url']: ", data2['url'])

輸出結果為:

Python 原始數(shù)據(jù): {'name': 'Runoob', 'no': 1, 'url': 'http://www.runoob.com'} JSON 對象: {"name": "Runoob", "no": 1, "url": "http://www.runoob.com"} data2['name']: Runoob data2['url']: http://www.runoob.com

如果你要處理的是文件而不是字符串,你可以使用?json.dump()?和?json.load()?來編碼和解碼JSON數(shù)據(jù)。例如:

寫入 JSON 數(shù)據(jù) with open('data.json', 'w') as f:json.dump(data, f)# 讀取數(shù)據(jù) with open('data.json', 'r') as f:data = json.load(f)

?

Changed in version 3.6:?All parameters are now?keyword-only.

default(o):

def default(self, o):try:iterable = iter(o)except TypeError:passelse:return list(iterable)# Let the base class default method raise the TypeErrorreturn json.JSONEncoder.default(self, o)

encode(o):

json.JSONEncoder().encode({"foo": ["bar", "baz"]}) '{"foo": ["bar", "baz"]}'

iterencode(o):

for chunk in json.JSONEncoder().iterencode(bigobject):mysocket.write(chunk)

?

轉載于:https://www.cnblogs.com/huangsxj/p/8649494.html

總結

以上是生活随笔為你收集整理的Python3 JSON处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。