您能否建議一些庫/任何其他工具或 python 代碼將 Json 格式轉換為具有適當型別而不是值的 Python 格式
給定(JSON 格式):
{
"data": {
"id": 8,
"email": "[email protected]",
"first_name": "Agent",
"last_name": "J",
"avatar": "image.jpg"
},
"support": {
"url": "https://test.com/#support-heading",
"text": "I’m an agent, but I’m from the future!"
}
}
預期(Python 格式 型別而不是值):
{
"data": {
"id": int,
"email": str,
"first_name": str,
"last_name": str,
"avatar": str,
},
"support": {
"url": str,
"text": str,
}
}
uj5u.com熱心網友回復:
修復 JSON 中的錯誤后,這就是您所要求的。請注意,這不能處理任意深度的嵌套;如果您有嵌套物件,那么首先您必須決定是要使用"dict"還是深入研究它們。如果您確實想深入研究它們,那么您需要進行遞回。
import json
data = '''
{
"data": {
"id": 8,
"email": "[email protected]",
"first_name": "Agent",
"last_name": "J",
"avatar": "image.jpg"
},
"support": {
"url": "https://test.com/#support-heading",
"text": "I'm an agent, but I'm from the future!"
}
}'''
data = json.loads(data)
for k,v in data.items():
for k1,v1 in v.items():
v[k1] = type(v1)
from pprint import pprint
pprint(data)
輸出:
{'data': {'avatar': <class 'str'>,
'email': <class 'str'>,
'first_name': <class 'str'>,
'id': <class 'int'>,
'last_name': <class 'str'>},
'support': {'text': <class 'str'>, 'url': <class 'str'>}}
uj5u.com熱心網友回復:
我知道這不是很方便,但是您可以使用 for 回圈瀏覽所有需要轉換的類。
import json
with open('data.json') as f:
data = json.load(f)
for x in data:
int(x["data"]["id"])
uj5u.com熱心網友回復:
如果您使用的是 VSCode,則可以使用Paste JSON as Code擴展。
只需安裝擴展程式,然后鍵入Ctrl Shift P(Cmd Shift P在 MacOS 上)并鍵入“Paste JSON as Code”。
Python 代碼將根據您的剪貼板內容生成。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/519953.html
上一篇:JToken中的空值傳播
