Я имею дело с API Fox news , и ответ не распознается как известный тип данных для меня или Python. вот образец ответа:

// API callback
__jp0({
  "kind": "customsearch#search",
  "url": {
  },
  "queries": {
    "request": [
      {
        "totalResults": "791000",
        "count": 10,
        "startIndex": 1,
        "inputEncoding": "utf8",
        "outputEncoding": "utf8",
        "safe": "off",
        "siteSearch": "foxnews.com",
        "siteSearchFilter": "i"
      }
    ],
    "nextPage": [
      {
        "totalResults": "791000",
        "count": 10,
        "startIndex": 11,
        "inputEncoding": "utf8",
        "outputEncoding": "utf8",
        "safe": "off",
        "siteSearchFilter": "i"
      }
    ]})

Вот ссылка API, чтобы увидеть весь ответ Ссылка Я хочу проанализировать ответ как json или любой известный тип данных.

2
Eng.Hassan Ibraheem 13 Фев 2021 в 11:35

2 ответа

Лучший ответ

То, что вы видите в API, называется форматом JSONP.

Это стандартный формат, поэтому вы можете просто удалить скобки из ответа, а затем загрузить то, что находится внутри скобок, как обычный json:

data_json = response_json.split("(", 1)[1].strip(")")
parsed_json = json.loads(data_json)
2
dmitryguzeev 13 Фев 2021 в 09:00

Я не думаю, что вы можете разобрать json с комментариями с помощью функции dict () или с помощью json lib, я бы рекомендовал использовать стороннюю json parse lib, вы можете найти их тонны в Интернете, и я не уверен на 100% в __jp0 (); если вы можете разобрать его, если удалили комментарий, то есть __jp0 (JSON);

0
Hero 13 Фев 2021 в 09:03
66183236