从数组中解析字符串。错误代码:“json”没有属性“str”

Posted

技术标签:

【中文标题】从数组中解析字符串。错误代码:“json”没有属性“str”【英文标题】:Parse string from an array. Error Code: 'json' has no attribute 'str' 【发布时间】:2021-10-02 06:13:49 【问题描述】:

如何从数组中获取字符串结果?

我的代码如下所示:

#Start 10 highest Results

print("High Results:")print("Doing request")

headers = "content-type": "application/json", "Accept-Charset": "UTF-8", "ApiAccessKey": "ExampleKey", "ApiSecretKey": "Example Key"response = requests.get("https://www.example.com/", headers=headers, verify=False)print("writing response code")print(response)

print(response.content ) # Return the raw bytes of the data payloadprint("----------------------------------")

json_object = json.loads(response.text)json_formatted_str = json.dumps(json_object, indent=2)print(json_formatted_str)

y = json.str(response.content)

#Display only High Resultsprint(y[0]["High"])

print("done")

我得到的错误:

Traceback (most recent call last):File "./CurlRequest.py", line 71, in <module>y = json.str(response.content)AttributeError: module 'json' has no attribute 'str'

【问题讨论】:

【参考方案1】:

如果您知道响应是 JSON,那么您只需执行 y = response.json()。之后,如果您想过滤掉y 中字段RiskLevel 等于"High" 的所有条目,您可以这样做:

for key in y:
   if y[key]["RiskLevel"] == "High":
      # do something with the entry
      print(y[key])

【讨论】:

现在我得到KeyError: 0 只需print(y) 并发布结果,否则无法为您提供帮助。显然y 是字典而不是数组。 我可以执行 print(y[High]) 以仅过滤名称为 High 的结果。因为有中等和高的结果,但我只需要高的 如果print(y) 看起来像"High": [...], "Medium": [...],那么你也可以使用print(y["High"] 高看起来像这样:"RiskLevel": "High",

以上是关于从数组中解析字符串。错误代码:“json”没有属性“str”的主要内容,如果未能解决你的问题,请参考以下文章

jquery数据属性不解析json字符串

接收 Json 字符串时出现空数组问题

尝试在 Python 中解析 JSON。 ValueError:期望属性名称[重复]

为啥 Javascript 不能从字符串文字中解析这个 JSON 数组?

为啥 Javascript 不能从字符串文字中解析这个 JSON 数组?

无法从数据属性解析 JSON [重复]