【发布时间】:2018-10-06 11:03:18
【问题描述】:
我正在阅读一个 Json,它是这样的几个字典的列表:
a_list = [ {
"ID": "20394820938",
"data": [
{
"fruit": "tomato",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": " orange ",
"Type": false
},
{
"fruit": "watermelon",
"provider": "destination",
"availability": "cotsco",
"Type": false
},
{
"fruit": " the watermelon is new",
"Type": false
}
],
"API": false,
"count": 0
},
{
"ID": "203948lHBFNPO",
"data": [
{
"fruit": "apple",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": " this is a tomato ",
"Type": false
},
{
"fruit": "lemon",
"provider": "unknown",
"availability": "cotsco",
"Type": false
},
{
"fruit": " orange ",
"Type": false
},
{
"fruit": "banana",
"provider": "unknown",
"availability": "unknown",
"Type": false
}
],
"API": false,
}
]
当且仅当字典在其子元素之一中包含字符串 apple 时,我如何将 IM00N 附加到 Json 的 id 值?例如:
a_list = [ {
"ID": "20394820938",
"data": [
{
"fruit": "tomato",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": "apple",
"Type": false
},
{
"fruit": "watermelon",
"provider": "destination",
"availability": "cotsco",
"Type": false
},
{
"fruit": " the watermelon is new",
"Type": false
}
],
"API": false,
"count": 0
},
{
"ID": "IM00N-203948lHBFNPO",
"data": [
{
"fruit": "apple",
"provider": "walmart",
"availability": "True",
"Type": false
},
{
"fruit": " this is a tomato ",
"Type": false
},
{
"fruit": "lemon",
"provider": "unknown",
"availability": "cotsco",
"Type": false
},
{
"fruit": " orange ",
"Type": false
},
{
"fruit": "banana",
"provider": "unknown",
"availability": "unknown",
"Type": false
}
],
"API": false,
}
]
我尝试构建一个正则表达式,但它很困难,因为列表中每个子词典的元素中没有模式。处理这种匹配和替换的正确方法是什么?
【问题讨论】:
标签: python json string dictionary