簡體   English   中英

從嵌套字典創建 JSON 文本文件

[英]Creating a JSON text file from a nested dictionary

我正在創建嵌套字典的 JSON 文件。 我的代碼目前如下:

myfamily = {
  "child1" : {
    "name" : "Emil"
  },
  "child2" : {
    "name" : "Tobias"
  },
  "child3" : {
    "name" : "Linus"
  }
}

names = []
for i in myfamily.values():
    print(type(i))
    print(i)
    s = json.dumps(i)
    names.append(s)
    

df_family = pd.DataFrame()

df_family['Child'] = myfamily.keys()
df_family['Name'] = values 
text = df_family.to_json(orient='records')
print(text)

這導致以下 output:

[{"Child":"child1","Name":"{\"2022\": 50, \"2023\": 50, \"2024\": 0}"},{"Child":"child2","Name":"{\"2022\": 50, \"2023\": 50, \"2024\": 50}"},{"Child":"child3","Name":"{\"2022\": 0, \"2023\": 100, \"2024\": 0}"}]

所以我的問題是,為什么要添加這些斜杠,這是創建嵌套字典的 JSON 文本格式的正確方法嗎?

import json

myfamily = {
  "child1" : {
    "name" : "Emil"
  },
  "child2" : {
    "name" : "Tobias"
  },
  "child3" : {
    "name" : "Linus"
  }
}

def nested_json(dict_t,fist_key="Child"):
  list_t= []
  for key,val in myfamily.items():
    nested_key = next(iter( val.keys()))
    list_t+= [{
        fist_key:key,
        nested_key:val[nested_key]
    }]
  return json.dumps(list_t)


nested_json(myfamily)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM