第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將包含“_”的 JSON 字段拆分為子對象?

如何將包含“_”的 JSON 字段拆分為子對象?

www說 2023-12-20 16:19:43
我有以下 JSON 對象,我需要在其中后處理一些標簽:{ 'id': '123', 'type': 'A', 'fields':   {      'device_safety':       {         'cost': 0.237,         'total': 22      },      'device_unit_replacement':       {         'cost': 0.262,         'total': 7      },      'software_generalinfo':       {         'cost': 3.6,         'total': 10      }  }}我需要分割標簽名稱以_獲得以下層次結(jié)構(gòu):{ 'id': '123', 'type': 'A', 'fields':   {      'device':       {         'safety':          {             'cost': 0.237,             'total': 22         },         'unit':         {             'replacement':             {                  'cost': 0.262,                  'total': 7             }           }      },      'software':       {         'generalinfo':         {            'cost': 3.6,            'total': 10         }      }  }}這是我當前的版本,但我陷入困境,不知道如何處理字段的層次結(jié)構(gòu):import jsonjson_object = json.load(raw_json)newjson = {}for x, y in json_object['fields'].items():    hierarchy = y.split("_")    if len(hierarchy) > 1:         for k in hierarchy:              newjson[k] = ????newjson = json.dumps(newjson, indent = 4)
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經(jīng)驗 獲得超3個贊

這是處理 adict并拆分鍵的遞歸函數(shù):


def splitkeys(dct):

    if not isinstance(dct, dict):

        return dct

    new_dct = {}

    for k, v in dct.items():

        bits = k.split('_')

        d = new_dct

        for bit in bits[:-1]:

            d = d.setdefault(bit, {})

        d[bits[-1]] = splitkeys(v)

    return new_dct



>>> splitkeys(json_object)

{'fields': {'device': {'safety': {'cost': 0.237, 'total': 22},

                       'unit': {'replacement': {'cost': 0.262, 'total': 7}}},

            'software': {'generalinfo': {'cost': 3.6, 'total': 10}}},

 'id': '123',

 'type': 'A'}


查看完整回答
反對 回復(fù) 2023-12-20
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號