우리의 모니터링 도구에서 현재 상태를 가져 와서 MSSQL DB에서 업데이트하는 스크립트를 작성하려고합니다. API를 호출하면 json 형식으로 큰 응답을 얻습니다.Python에서 API 응답의 json 데이터를 구문 분석하는 방법은 무엇입니까?
{
"hoststatuslist": {
"recordcount": "1084",
"hoststatus": [
{
"@attributes": {
"id": "XXXX"
},
"host_id": "XXX",
"name": "XXXXX",
"display_name": "XXXXXXX",
"address": "XXXXXX",
"alias": "XXXXXX",
"status_text": "XXXXXXXXXXXXXXXXXXXXXXX",
etc.
},
{
"@attributes": {
"id": "XXXX"
},
"host_id": "XXX",
"name": "XXXXX",
"display_name": "XXXXXXX",
"address": "XXXXXX",
"alias": "XXXXXX",
"status_text": "XXXXXXXXXXXXXXXXXXXXXXX",
etc.
},
etc.
]
}
}
자세히 알 수 있듯이 속성이있는 1000 개 이상의 호스트 객체가 있습니다. 내가 MSSQL을 추가/업데이트 할 수 있도록 응답을 구문 분석하고 싶습니다. 각 호스트에 대해 host_id, name 및 status_text를 구문 분석하려고합니다.
나는이 Python - Parsing JSON Data Set과 같은 작업을 시도했지만 응답 객체에 읽기 또는 디코딩 속성이 없다는 오류가 계속 발생합니다.
여기에 내 현재 코드 :
import requests
import json
response = requests.get('url with API Key')
decoded_response = response.read().decode("UTF-8")
data = json.loads(decoded_response)
jsonData = data["hoststatus"]
for host in jsonData:
Name = host.get("name")
StatusText = host.get("status_text")
사람이 내가 문을 열어주는 말들 다른 언어 또는 도구를 사용하여이 작업을 수행 할 수있는 제안이 있다면. 약 20 개의 API를 호출하고 모든 상태/기타 정보를 DB에 저장하여 한 위치에 모두 넣어야합니다.
도움이 되셨습니까?
는 잘 모르겠지만,이 게시물은 나에게 JSON 데이터를 제공하는 간단하다. json 데이터에서 호스트 이름/상태를 추출해야하는 데이터가 이미 있습니다. 참고로 r.encoding을 시도 할 때 200 개의 상태 코드가있는 경우에도 응답을받지 못합니다. –