Как получить объект из массива объектов JSON на основе значения внутри объекта в Python?

У меня возникла эта проблема: запрос AJAX Post, который возвратил некоторый JSON, потерпит неудачу, в конечном итоге возвратит прерывание с помощью:

SCRIPT7002: XMLHttpRequest: ошибка сети 0x2ef3

в консоли. В других браузерах (Chrome, Firefox, Safari) точно такой же запрос AJAX был в порядке.

Отследил мою проблему - расследование показало, что в ответе отсутствовал код состояния. В этом случае это должно было быть 500 внутренних ошибок. Это создавалось как часть веб-приложения C # с использованием стека служб, для которого явно должен быть установлен код ошибки.

IE, похоже, оставил соединение открытым для сервера, в конечном итоге он был отключен и «прервал» запрос; несмотря на получение содержимого и других заголовков.

Возможно, существует проблема с тем, как IE обрабатывает заголовки в сообщениях.

Обновление веб-приложения для правильного возврата кода состояния устраняет проблему .

Надеюсь, это кому-то поможет!

-1
задан adbarads 17 February 2019 в 22:43
поделиться

2 ответа

Модуль py 're' имеет функцию поиска, которую вы можете просмотреть, которая позволяет отфильтровывать определенное слово и затем использовать индексы для выбора других слов / текста файла json, которые находятся вокруг этого слова.

0
ответ дан Mohit-Pal Singh 17 February 2019 в 22:43
поделиться

В Python вы можете использовать понимание списка , подобное Ruby select:

custom_fields = data["testcases"]["testcase"]["custom-fields"]["custom-field"]
filtered = [f for f in custom_fields if f["@id"] == "caseimportance"]

Python также имеет фильтр, который более непосредственно сопоставим с выбором Ruby:

Python 2:

filtered = filter(lambda f: (f["@id"] == "caseimportance"), custom_fields)

Python 3:

filtered = list(filter(lambda f: (f["@id"] == "caseimportance"), custom_fields))

Однако понимание списка часто считается более Pythonic.

0
ответ дан Alex Harvey 17 February 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: