JSON 对象中的任何数组都不为空

Any array in JSON object is not empty

有没有聪明的方法来检查 JSON 元素中的任何数组是否不为空?这是示例数据:

{
  a = []
  b = []
  c = [1,2,3]
}

您可以使用 any(),如果 JSON 对象中的任何值是 :

,则返回 True
data = {
  'a': [],
  'b': [],
  'c': [1,2,3]
}

result = any(item for item in data.values())

print(result)

这输出:

True

空列表是虚假的,因此您可以检查每个键值的真实性。例如,

>>> a = json.loads('{"a" : [], "b" : [], "c" : [1,2,3]}')
>>> for i,j in a.items():
...     if j:
...             print(j)
... 
[1, 2, 3]