如何解析json列表?

时间:2014-05-14 23:31:26

标签: python json

我有一个json列表:

tcp_packet = {'green': [], 'red': [{'arm_id': 2, 'pptl_id': [1]}, {'arm_id': 1, 'pptl_id': [1]}]}

我需要检查arm_id是否存在于'red'中?

目前我必须循环tcp_packet['red']以确定arm_id = 2是否存在?

for i in tcp_packet[color]:
   if '2' in i.keys():
       do something

对此有一个单行解决方案吗?

2 个答案:

答案 0 :(得分:0)

do_something() if 2 in [x.get('arm_id') for x in tcp_packet['red']] else None

答案 1 :(得分:0)

你的问题有点不清楚,但这是你在找什么?

>>> tcp_packet = {'green': [], 'red': [{'arm_id': 2, 'pptl_id': [1]}, {'arm_id': 1, 'pptl_id': [1]}]}
>>> any((('arm_id', 2) in i.iteritems()) for i in tcp_packet['green'])
False
>>> any((('arm_id', 2) in i.iteritems()) for i in tcp_packet['red'])
True