python - 提取 JSON 元素

标签 python json

我有一个来自如下所示网站的 JSON 响应。我想打印 data'value''datetime' 键。我无法在 JSON 响应中访问这两个元素。

  data= {"parameter_name":"Inst",
    "parameter_code":"WL1","data":[
    {"value":3.1289999485,"datetime":"2018-07-01T00:00:00+00:00"},
    {"datetime":"2018-07-01T00:30:00+00:00","value":3.1859998703},
    {"value":3.33099985123,"datetime":"2018-07-01T00:45:00+00:00"},
    {"datetime":"2018-07-01T01:15:00+00:00","value":3.22300004959},
    {"datetime":"2018-07-01T01:45:00+00:00","value":3.32299995422}]}

我的代码到现在

for element in len(data['data']):
            date = element['datetime']
            value = element['value']

            print value, date

我遇到了错误

for element in len(data['data']):
TypeError: string indices must be integers, not str

最佳答案

您显示为 JSON data 的内容可能不是data 的实际值。如果您尝试像 Python dict 一样访问数据,它会引发 TypeError: string indices must be integers, not str。您的 JSON data 可能如下所示(注意引号):

# This is JSON, essentialy a string in the format of a Python dict.
data = """{
    "parameter_name": "Inst",
    "parameter_code": "WL1",
    "data":[
        {
            "value":3.1289999485,
            "datetime":"2018-07-01T00:00:00+00:00"
        },
        {
            "datetime":"2018-07-01T00:30:00+00:00",
            "value":3.1859998703
        },
        {
            "value":3.33099985123,
            "datetime":"2018-07-01T00:45:00+00:00"
        },
        {
            "datetime":"2018-07-01T01:15:00+00:00",
            "value":3.22300004959
        },
        {
            "datetime":"2018-07-01T01:45:00+00:00",
            "value":3.32299995422
        }
    ]
}"""

使用 Python 标准库 json 包将其转换为 Python dict:

import json

# This converts the JSON string into a Python dict
data = json.loads(data)

您可以访问 data 和它的“数据”键,然后遍历它(就像您正在做的那样):

for element in data['data']:
    print(element['value'], element['datetime'])

关于python - 提取 JSON 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51119989/

相关文章:

Python:将列单元格内的每个数组转换为单个字符串

python - dask DataFrame 相当于 pandas DataFrame sort_values

python - 如何创建一个Python脚本来制作多个bash脚本?

json - 如何在 Swift 中访问其标识符根据响应类型而变化的 JSON 响应?

java - 使用 Google Storage 将图像上传/下载到 Google Compute Engine

python - 使用Python进行图像卡检测

Python Tkinter-小窗口在主窗口之前弹出

php - 从对 PHP 脚本的 ajax 调用获取 JSON 响应

java - 如何将字节流图像数据放入JSON对象中?

ajax - 为什么我的 json 在新页面中呈现?