[英]How can I make changes in the JSON file and save it later in Python or JS?
我有一個 JSON 文件,我想將其中的鍵 (food_image) 值分配給循環中的索引值。例如 food_image0, food_image1 .. food_image{loop index}
然后我想將此 JSON 文件保存為 JSON 文件。 .所有帶有food_image鍵的值都會以food_image為前綴,並通過在循環中添加索引后綴來重寫。 這就是我想要的
JSON
{
"DATABASE":
[
{
"food_id": 0,
"food_name": "Food Name ABC",
"food_image": "imagesite/abc.jpg", // food_image_0
"food_kcal": "32",
"units":
[
{
"amount": "15.0000",
"calory": "32.4877372383",
},
{
"amount": "110.0000",
"calory": "238.243406414",
}
]
},
{
"food_id": 1,
"food_name": "Food Name XYZ",
"food_image": "imagesite/xyz.jpg", // food_image_1
"food_kcal": "32",
"units":
[
{
"amount": "15.0000",
"calory": "32.4877372383",
},
{
"amount": "110.0000",
"calory": "238.243406414",
}
]
}
]
}
Python
import json
with open('json_file.json',encoding="utf8") as myfile:
data=myfile.read()
obj = json.loads(data)
for idx, i in enumerate(obj['DATABASE']):
print(i["food_image"])
結果:JSON
{
"DATABASE":
[
{
"food_id": 0,
"food_name": "Food Name ABC",
"food_image": "food_image_0.jpg",
"food_kcal": "32",
"units":
[
{
"amount": "15.0000",
"calory": "32.4877372383",
},
{
"amount": "110.0000",
"calory": "238.243406414",
}
]
},
{
"food_id": 1,
"food_name": "Food Name XYZ",
"food_image": "food_image_1.jpg"
"food_kcal": "32",
"units":
[
{
"amount": "15.0000",
"calory": "32.4877372383",
},
{
"amount": "110.0000",
"calory": "238.243406414",
}
]
}
]
}
將 JSON 文件讀入 Python 對象后,對對象進行變異,然后將其寫回文件。
在下面的示例中,我創建了一個單獨的文件而不是覆蓋原始文件(如果您進行其他突變,我建議您也這樣做,以防出現錯誤)。
import json
import os
source = 'json_file.json'
dest = 'updated.json'
with open(source) as f:
content = json.load(f)
for i, entry in enumerate(content['DATABASE']):
_, extension = os.path.splitext(entry['food_image'])
entry['food_image'] = f'food_image_{i}{extension}'
with open(dest, 'w+') as f:
json.dump(content, f)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.