繁体   English   中英

Python 从 JSON 读取逗号分隔列表

[英]Python reading comma seperated list from JSON

我在 python 脚本中给出了以下 JSON 结构:

print("Producers: ", metadata['plist']['dict']['array'][2]['dict']['string'])

问题是我在该字段上没有一个条目,而是有多个条目。 另请参阅此处的原始 JSON: https://pastebin.com/rtTgmwvn

如何将这些条目作为逗号分隔的字符串提取到 [2] 的生产者字段中?

提前致谢

您快到了:

你可以做这样的事情

print("Producers: ", ", ".join(i["string"] for i in metadata['plist']['dict']['array'][2]['dict'])

分解解决方案... JSON 中的"dict"元素实际上是“ dictlist ,因此您可以简单地遍历此list

metadata['plist']['dict']['array'][2]['dict']

其中每个元素都是带有"string"键的实际dict

更新

JSON 的格式在某些情况下是一个列表,在某些情况下是单个元素。 在这种情况下,我建议编写一个小的 function 或使用处理每种情况的if语句:

def get_csv(element):
    if isinstance(element, dict):
        return element["string"]
    return ", ".join(i["string"] for i in element)

# and you would use it like so:
print("Producers: ", get_csv(metadata['plist']['dict']['array'][2]['dict']))

以下应该可以解决问题:

def get_producer_csv(data):
    producers = []
    dict = data["plist"]["dict"]["array"][2]["dict"]
    for dict_entry in dict:
        producers.append(dict_entry["string"])
    return ",".join(producers)

对于您的示例,它返回以下内容:“David Heyman,David Barron,Tim Lewis”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM