当前位置: 首页 > 知识库问答 >
问题:

如何搜索JSON对象并提取键/值对?

吴西岭
2023-03-14

我试图搜索一个JSON对象,并提取下面'name''id'的Key/Value对。我想提取'name''id'的所有实例:

{
"response": [
    {
        "additionalInfo": [],
        "id": "b6549916-b8e1-4131-b0be-f4a3daee26fc",
        "instanceTenantId": "5ffc97db91d68700c7ea827a",
        "name": "Global",
        "siteHierarchy": "b6549916-a8e1-4131-b0be-f4a3daee26fc",
        "siteNameHierarchy": "Global"
    },
    {
        "additionalInfo": [
            {
                "attributes": {
                    "addressInheritedFrom": "66284774-4ae4-42a1-b27c-68231c98d7db",
                    "type": "area"
                },
                "nameSpace": "Location"
            }
        ],
        "id": "4ffb292c-4cc8-444b-8978-61b97c6874db",
        "instanceTenantId": "5ffc97db91d68700c7ea827a",
        "name": "Peak Tester",
        "parentId": "66a84774-4ae4-42a1-b27c-68231c98d7db",
        "siteHierarchy": "b6549916-b8e1-4131-b0be-f4a3daee21fc/66a84774-4ae4-42a1-b27c-68231c98d7db/4ffb292c-4cc8-444b-8978-61b97c6874db",
        "siteNameHierarchy": "Global/Template Site/Peak Tester"
    }
]

}

我试过好几样都不管用。

for elements in site_info['response']:
for item in elements:
    if item == 'name':
        print(item)

这只打印'name'的输出,而不打印值。我想要这个值和钥匙。

共有2个答案

谭昊乾
2023-03-14

我看你已经有答案了,这很好。

data = { "response": [ {"name" : "fred"}, {"name" : "tom"}]} # data is a dictionary

arr = data['response'] # arr is a list of dictionaries

for i in arr:
    print('name', i['name']) # lookup the name value from each sub-dictionary
禄星腾
2023-03-14

当你有并且需要时,你必须这样做:

>>> dictionary['key']
'value'

就你而言:

if item == 'name':
    print(item['name'])

无论如何,您可以这样简单地省略if语句:

for item in elements:
    print(item['name'])
 类似资料:
  • 问题内容: 我是JSON的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个JSON对象参考,我想获取Key(对象只有一个“键值对”)。如何在Java中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:

  • 问题内容: 我有很多类似的对象,像这样; 我想用关键字搜索这些对象的值(而不是键),并返回在任何值中都包含关键字的对象数组。 因此,例如,使用关键字,我将获得所有对象(对象#1中的“ baR”,对象#2中的“ loRem”和对象#3中的“ doloR”)。使用关键字,我将得到对象2和3(“ LOrem”和“ doLOr”),使用关键字,我将得到对象1和3(“ bAr”和“ Amet”)。但是,使用

  • 我有两个java对象:MyObject和MyObjectDetails 搜索空值或空字符串的最佳且简单的方法是什么? 实际上,我正在为这个类使用一个特定的验证器,逐字段检查空值和空字符串。 例如,要检查空值,我使用: 但我也很喜欢将来可以用来制作其他物体的东西。

  • 问题内容: 我正在struts上从事Web服务。现在我想要json对象使用其键值。然后,我必须发布类似数组的内容作为响应。我不知道如何在Struts中做到这一点。我知道如何在Servlet中执行此操作。因此,我使用的是我尝试过的以下代码,但我认为Struts中的代码有所不同。 因此,如何在Struts中做到这一点。还请告诉我如何解析json数组作为响应。 问题答案: 使用JSON无需将JSON发送

  • python如何做以下json操作? 如何将jsonv的值添加成如下值, 1.如何向jsonv添加 1:[]? 2.如何向jsonv={1:[]}中添加'黑'成为jsonv={1:['黑','白','灰']}?

  • 问题内容: 我的应用程序中有一个JSON字符串/对象。 我的应用程序中有一个过滤器框,当我在该框中输入名称时,我们必须过滤该对象并显示结果。 例如,如果用户键入“名称”并点击搜索,那么我们必须在JSON对象中搜索全名并返回数组,就像MySQL搜索一样。 我的问题是用字符串过滤json对象并返回数组。 问题答案: 您可以遍历数组并找到匹配项: