如何读取JSON输出中的键值而不使用索引

xuo3flqw  于 2023-10-21  发布在  其他
关注(0)|答案(2)|浏览(95)

下面是一个JSON输出示例

myJSON = {

    { "results": [
        {
          "data1": 123.45,
          "data2": 67.89
        }
      ]
    }
}

我尝试直接读取data1

mydata1 = myJSON['data1']

我得到一个错误KeyError: 'data1'。我只能通过使用索引来找到一种方法:

mydata1 = myJSON['results'][0]['data1']

有没有一种方法可以直接读取data1中的值,而不必为results指定索引?是否需要索引?只是想在这里找到一个更紧凑/优雅的解决方案。

2w2cym1i

2w2cym1i1#

有一个更简单的方法。我会用这个技术来做:

myJSON = myJSON['results'][0]

现在您可以直接访问data1和data2

print(myJSON['data1'])

输出为123.45

d4so4syb

d4so4syb2#

你的json是:

myJSON = {

    "results": [
        {
          "data1": 123.45,
          "data2": 67.89
        }
      ]
}

如果你想得到data1而不使用索引,你可以使用for循环。这需要O(N)时间:

for x in myJSON["results"]:
  mydata1 = x['data1']

print(mydata1)
#123.45

或列表理解:

mydata1 = [x['data1'] for x in myJSON["results"]]

print(*mydata1)
#123.45

最好是O(1)时间

mydata1 = myJSON['results'][0]['data1']

mydata1 = myJSON['results'][-1]['data1']

相关问题