用Python解析一个嵌套的JSON并返回humanreadable

2024-09-28 01:30:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用python解析一个嵌套的JSON文件,并将人类可读的信息返回给用户

我试过用dictionary应用map()函数来提供解释,但它似乎不能用于嵌套的json(或者我做得不对)。问题还在于,第2级的钥匙可能重复如下所示,“消耗品”和“硬币”中都有“1”和“2”:

我的JSON是这样的:

{
"consumable": {
"1": 5,
"2": 10
},
"coin": {
"1": 2000,
"2": 5000
},
"gold": 10000
}

我的脚本期望的是,当我复制JSON时,我将收到一个可读的数据,因此“耗材1:5”变成“魔法药剂:5个”,“耗材2:10”变成“HP药剂:10个”,“硬币1:2000”变成“美元:2000”,“硬币2:5000”变成“欧元:5000”等等。 还有一些东西没有嵌套在那里,所以它们应该像常规json一样进行解析

我甚至不是一个程序员,也不知道如何做到这一点


Tags: 文件函数用户信息jsonmapdictionary硬币
1条回答
网友
1楼 · 发布于 2024-09-28 01:30:10

不是很漂亮,但做了你所期待的:

import json
json_string = '{ "consumable": { "1": 5, "2": 10 }, "coin": { "1": 2000, "2": 5000 }, "gold": 10000}'

content = json.loads(json_string)

for elem in content:
    if elem == 'consumable':
        for index in content[elem]:
            if index == '1':
                print(f'mana potion: {content[elem][index]} pcs')
            elif index == '2':
                print(f'HP potion: {content[elem][index]} pcs')
    elif elem == 'coin':
        for index in content[elem]:
            if index == '1':
                print(f'dollar: {content[elem][index]}')
            elif index == '2':
                print(f'euro: {content[elem][index]}')

这张照片:

mana potion: 5 pcs
HP potion: 10 pcs
dollar: 2000
euro 5000

更好的方法是在json和人类可读字符串之间创建映射字典

相关问题 更多 >

    热门问题