0

我有这样的Json:

sampleJson = {"tld":".id","pricing":{"register":"225000.00","renewal":"225000.00","transfer":"225000.00"}},{"tld":".co.id","pricing":{"register":"285000.00","renewal":"285000.00","transfer":"285000.00"}},{"tld":".biz.id","pricing":{"register":"40000.00","renewal":"40000.00","transfer":"40000.00"}}

我想要这样的结果:

tld : .id
pricing :
register : 225000.00
renewal : 225000.00
transfer : 225000.00

请帮助python代码进行迭代

4

3 回答 3

0

假设

sampleJson = [{"tld":".id","pricing":{"register":"225000.00","renewal":"225000.00","transfer":"225000.00"}},{"tld":".co.id","pricing":{"register":"285000.00","renewal":"285000.00","transfer":"285000.00"}},{"tld":".biz.id","pricing":{"register":"40000.00","renewal":"40000.00","transfer":"40000.00"}}]

for item in sampleJson:
    print(f'tld: {item["tld"]}')
    print('pricing :')
    for key, value in item["pricing"].items():
        print(f'{key} : {value}')

输出 -

tld: .id
pricing :
register : 225000.00
renewal : 225000.00
transfer : 225000.00
tld: .co.id
pricing :
register : 285000.00
renewal : 285000.00
transfer : 285000.00
tld: .biz.id
pricing :
register : 40000.00
renewal : 40000.00
transfer : 40000.00
于 2020-05-19T08:04:32.207 回答
0

汤姆罗恩的回答当然非常适合这种情况,但如果数据中的键发生变化,则需要更改固定字符串。更通用的解决方案是:

def recurse_dict(d):
    for k, v in d.items():
        if isinstance(v, dict):
            print(k,':')
            recurse_dict(v)
        else:
            print(k, ':', v)

for d in sampleJson:
    recurse_dict(d)
于 2020-05-19T08:13:23.100 回答
0

您可以定义一个递归打印字典的函数,如下所示:

sampleJson = {"tld":".id","pricing":{"register":"225000.00","renewal":"225000.00","transfer":"225000.00"}},{"tld":".co.id","pricing":{"register":"285000.00","renewal":"285000.00","transfer":"285000.00"}},{"tld":".biz.id","pricing":{"register":"40000.00","renewal":"40000.00","transfer":"40000.00"}}

def recursive_dict_print(d):
    for k in d:
        if isinstance(d[k], dict):
            print(k, ": ")
            recursive_dict_print(d[k])
        else:
            print(k, ":", d[k])

for d in sampleJson:
    print("next dict")
    recursive_dict_print(d)
于 2020-05-19T08:19:06.190 回答