在Python字典中翻译数字代码值

在Python字典中翻译数字代码值,python,json,python-3.x,dictionary,Python,Json,Python 3.x,Dictionary,我有一个JSON/Python字典对象,其中包含一些数值格式的值,例如{'id':'xxx xxx xxx','property_type':930,…}。 我想做的是,当我在我的网站上显示该对象时,我想将930翻译成它的实际含义,例如“公共机构建设” 由于这些对象来自一个API调用,所以我需要翻译很多内容,而不一定要为每个单独的键值对翻译一些内容。我想这是使用API时的常见做法,但是,我似乎无法在任何最佳实践的正确方向上指导自己。关于如何解决这个问题,我有很多想法,但我不认为这是“最佳实践”

我有一个JSON/Python字典对象,其中包含一些数值格式的值,例如
{'id':'xxx xxx xxx','property_type':930,…}
。 我想做的是,当我在我的网站上显示该对象时,我想将930翻译成它的实际含义,例如“公共机构建设”

由于这些对象来自一个API调用,所以我需要翻译很多内容,而不一定要为每个单独的键值对翻译一些内容。我想这是使用API时的常见做法,但是,我似乎无法在任何最佳实践的正确方向上指导自己。关于如何解决这个问题,我有很多想法,但我不认为这是“最佳实践”

显然,我可能需要建立一个额外的字典,看起来像:

{'property_type': {120: 'Private property', 240: 'Vacation property' ...}, 'roof_type': {10: 'xxx', 20: 'xxx'}}
但是,最方便的方法是什么,然后自动获取任何给定的词典,循环浏览“翻译词典”,如果有匹配项,然后翻译词典


在大多数情况下,我将使用的对象都是嵌套的,因此有时我还需要检查下一个级别

此功能可用于递归地搜索嵌套字典并返回我们找到的内容

my_dict = {'property_type': {120: 'Private property', 240: 'Vacation property'}, 'roof_type': {10: 'xxx', 20: 'xxx'}}


def recursive_search(dictionary, item):

    # Recursively check for a key in a dictionary

    if item in dictionary:  # Check if item is in current dict
        return dictionary[item]  # our property value

    for key, value in dictionary.items():
        if isinstance(value, dict):  # Check if we have a nested dict
            result = recursive_search(value, item)  # Check the next level
            if result is not None:  # Make sure we don't return early
                return result


print(recursive_search(my_dict, 120))