私は、複数のキーと値を含む辞書を持っており、その値にはキーと値のペアも含まれています。私はどのようにPythonでこの辞書を使用して動的JSONを作成する方法を得ていない。このようなPythonで動的jsonオブジェクトを作成する
image_dict = {"IMAGE_1":{"img0":"IMAGE_2","img1":"IMAGE_3","img2":"IMAGE_4"},"IMAGE_2":{"img0":"IMAGE_1", "img1" : "IMAGE_3"},"IMAGE_3":{"img0":"IMAGE_1", "img1":"IMAGE_2"},"IMAGE_4":{"img0":"IMAGE_1"}}
私の予想結果:
{
"data": [
{
"image": {
"imageId": {
"id": "IMAGE_1"
},
"link": {
"target": {
"id": "IMAGE_2"
},
"target": {
"id": "IMAGE_3"
},
"target": {
"id": "IMAGE_4"
}
}
},
"updateData": "link"
},
{
"image": {
"imageId": {
"id": "IMAGE_2"
},
"link": {
"target": {
"id": "IMAGE_1"
},
"target": {
"id": "IMAGE_3"
}
}
},
"updateData": "link"
},
{
"image": {
"imageId": {
"id": "IMAGE_3"
},
"link": {
"target": {
"id": "IMAGE_1"
},
"target": {
"id": "IMAGE_2"
}
}
},
"updateData": "link"
} ,
{
"image": {
"imageId": {
"id": "IMAGE_4"
},
"link": {
"target": {
"id": "IMAGE_1"
}
}
},
"updateData": "link"
}
]
}
私はそれを解決しようとしたが、私は期待した結果を取得していないここで辞書です。
result = {"data":[]}
for k,v in sorted(image_dict.items()):
for a in sorted(v.values()):
result["data"].append({"image":{"imageId":{"id": k},
"link":{"target":{"id": a}}},"updateData": "link"})
print(json.dumps(result, indent=4))
を 'json'部分がここに完全に(だけでなく、大部分は)無関係ですが、あなたの質問はどのように行う「です –
あなたは正しい@brunodesthuilliers –
@rajendrapawar、予想されるjsonは無効です。dict '.."リンク内でキーを繰り返すことはできません:{ "target":{ "ID": "IMAGE_2" }、 "ターゲット":{ "ID": "IMAGE_3" }、 "ターゲット":{ "ID": "IMAGE_4" } ..' – RomanPerekhrest