Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 无法检查Python中是否存在复杂JSON对象的键_Python 3.x - Fatal编程技术网

Python 3.x 无法检查Python中是否存在复杂JSON对象的键

Python 3.x 无法检查Python中是否存在复杂JSON对象的键,python-3.x,Python 3.x,我有一个json数据,如: { "cse_thumbnail": [ { "width": "188", "height": "268", "src": "http://abc.dk" } ], "metatags": [ { "referrer": "origin-when-cross-origin",

我有一个json数据,如:

{    
    "cse_thumbnail": [   
     {    
          "width": "188",
          "height": "268",
          "src": "http://abc.dk"
        }     
    ],    
    "metatags": [    
     {    
      "referrer": "origin-when-cross-origin",
      "og:image": "http://def.dk"
     }    
    ],    
    "cse_image": [    
     {    
      "src": "http://ghi.dk"
     }    
    ]    
   }
JSON中有3个数组列表。我想在得到响应时检查相应的键是否存在:

cse_缩略图

元标记

cse_图像

我尝试了python中的所有键:值对检查(hasattr、key-in-list等),但这些检查根本不起作用


请帮助解决此问题。

您可以使用中的
检查是否存在密钥

import json

with open('data.json') as thing:
    data = json.load(thing)
    keys = ('cse_thumbnail', 'metatags', 'cse_image')
    for key in keys:
        print(key in data)

您可以使用
中的
检查是否有钥匙

import json

with open('data.json') as thing:
    data = json.load(thing)
    keys = ('cse_thumbnail', 'metatags', 'cse_image')
    for key in keys:
        print(key in data)

请共享您的python代码…请检查:您是否在json文件上使用了:
json.loads
?可能重复的是,我使用了json.loads请共享您的python代码…请检查:您是否在json文件上使用了:
json.loads
?可能重复的是,我使用json.loadsI刚刚实现了代码,它为所有代码返回了“false”:2017-06-23T11:53:41.804312+00:00应用程序[web.1]:false 2017-06-23T11:53:41.804314+00:00应用程序[web.1]:false 2017-06-23T11:53:41.804317+00:00应用程序[web.1]:谢谢,你的评论救了我的命。我终于修改了代码中的几行,经过两天的努力,现在终于可以工作了。JSON对象带有u_字符串。我删除了它们,现在它们可以正常工作了。我刚刚实现了代码,它为它们返回了“false”:2017-06-23T11:53:41.804312+00:00应用程序[web.1]:false 2017-06-23T11:53:41.804314+00:00应用程序[web.1]:False 2017-06-23T11:53:41.804317+00:00应用程序[web.1]:False谢谢,你的评论救了我的命。我终于修改了代码中的几行,经过两天的努力,现在终于可以工作了。JSON对象带有u_字符串。我移除了它们,现在它们工作正常了。