首页 > 解决方案 > 尝试使用 Python 解析 JSON 文件

问题描述

所以我这几天一直在撞墙,一直在潜入谷歌/SO兔子洞寻找答案。我一直在讨论如何将这个问题表述为我从中提取的 API,可能包含也可能不包含一些敏感信息,这些信息与我喜欢的 HIPPA 法律非常接近。出于这个原因,我不会为我的代码提供直接链接/身份验证。话虽如此,我将提供一个编造的 JSON 脚本来帮助解释。

import requests
import json
import urllib3

r = requests.get('https://madeup.url.com/api/vi/information here', auth=('123456789', '1111111111222222222223333333333444444455555555'))

payload = {'query': 'firstName'}

response = requests.get(r, params=payload)

json_response = response.json()

print(json.dumps(json_response))

我尝试解析的 JSON 文件部分如下所示:

"{\"id\": 123456789, \"firstName\": \"NAME\", \"lastName\": \"NAME\", \"phone\": \"NUMBER\", \"email\": \"EMAIL@gmail.com\", \"date\": \"December 16, 2021\", \"time\": \"9:50am\", \"endTime\": \"10:00am\",.....

当我运行代码时,我得到一个“urllib3.exceptions.LocationParseError: Failed to parse: <Response [200]>” 回溯,我终生无法弄清楚发生了什么。urllib3 根据控制台安装和更新。

任何帮助将非常感激。TIA

标签: jsonpython-3.xparsing

解决方案


好的,更新:好消息!有点...所以我的代码现在如下所示;

import requests
import json
import urllib3

payload = {
    'query1'= 'firstName',
    'query2'= 'lastName'
}

response = requests.get("url", auth= ("user","pass"), params=payload)

Data = response.json()

packages_str = json.dumps(Data, ensure_ascii=False, indent=2)

with open('Data.json), 'w') as f:
   json.dump(packages_str,f)
   f.write(packages_str)

然后,当我打开 JOSN 文件时,第一行是字符串中的整个 API,但在其下方,是格式正确的 JSON 文件。不幸的是,它是整个 API,而不是寻找我需要的信息的解析 JSON 文件......

继续搜索 google/youtube/SO 兔子洞,如果我能找到解决办法,我会在以后更新。


推荐阅读