【发布时间】:2023-01-02 23:45:54
【问题描述】:
我有以下解码功能;
def flatten_data(json_data):
"""
Arguments:
json_data (dict): json data
Returns:
dict : {a:1, b:2, b_c:1, b_d:2}
"""
out = {}
def flatten(x, name=''):
if type(x) is dict:
for a in x:
flatten(x[a], name + a + '_')
elif type(x) is list:
out[name[:-1]] = x
else:
out[name[:-1]] = x
flatten(json_data)
return out
如果我为此函数提供以下 JSON 正文输入;
{
"id": "123",
"name": "Jack",
"createdAt": 20221212,
"region": '{"country": "USA", "city": "NewYork"}'
}
我需要得到如下输出;
{
"id": "123",
"name": "Jack",
"createdAt": 20221212,
"region_country": "USA",
"region_city": 'NewYork'
}
如何修改我的flatten_data 函数?
【问题讨论】:
-
你是如何阅读 json 数据的?请提供更多信息
标签: python json json-deserialization jsondecoder