簡體   English   中英

將 JSON 字符串轉換為 python 字典

[英]converting JSON string into a python dictionary

我的任務是創建一個 JSON 字符串,然后我需要將其轉換為 python 字典。

我只是收到有關額外數據的錯誤,我不確定下一步該怎么做

import json

company = '{"Name": "George", "Manages": ["James", "Jamilia"]}, {"Name": "James", "Manages": ["Jill", "Jenny"]}, {"Name": "Jamilia", "Manages": ["Jasmine", "Jewel", "Jenny"]}'

company_dict = json.loads(company)

我要完成的任務是以下問題:喬治經營一家公司。 他管理着 James 和 Jamila,他們每個人都有一個小團隊要管理。 詹姆斯的團隊中有吉爾和珍妮。 Jamila 的團隊中有 Jewel、Jasmine 和 Jeremy。

在名為 company 的字符串變量中創建一個 JSON object,其中每個項目都有一個名稱字段和一個名為 manages 的字段,其中包含由該人管理的人員數組。 如果一個人不管理任何人,他們就沒有所謂管理的領域。

然后將 JSON 字符串轉換為名為 company_dict 的變量中的字典。

...每個項目都有一個名稱字段和一個名為 manages 的字段,其中包含由該人管理的一組人員。 如果一個人不管理任何人,他們就沒有所謂管理的領域。

這聽起來像一個組織樹。 每個員工都有一個名字,並且可以選擇管理誰:

import json
from pprint import pprint

company = '''{"name": "George",
              "manages": [{"name": "James",
                           "manages": [{"name": "Jill"},
                                       {"name": "Jenny"}]},
                          {"name": "Jamila",
                           "manages": [{"name": "Jewel"},
                                       {"name": "Jasmine"},
                                       {"name": "Jeremy"}]}]}'''

dct = json.loads(company)
pprint(dct, sort_dicts=False)
print()
print(json.dumps(dct, indent=2))

Output:

{'name': 'George',
 'manages': [{'name': 'James',
              'manages': [{'name': 'Jill'}, {'name': 'Jenny'}]},
             {'name': 'Jamila',
              'manages': [{'name': 'Jewel'},
                          {'name': 'Jasmine'},
                          {'name': 'Jeremy'}]}]}

{
  "name": "George",
  "manages": [
    {
      "name": "James",
      "manages": [
        {
          "name": "Jill"
        },
        {
          "name": "Jenny"
        }
      ]
    },
    {
      "name": "Jamila",
      "manages": [
        {
          "name": "Jewel"
        },
        {
          "name": "Jasmine"
        },
        {
          "name": "Jeremy"
        }
      ]
    }
  ]
}

暫無
暫無

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

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