Моя программа на Python получает данные в формате JSON, и мне нужно извлечь из них некоторую информацию. Как я могу проанализировать данные и использовать результат? Я думаю, мне нужно использовать json.loads для этой задачи, но я не понимаю, как это сделать.
Например, предположим, что у меня есть jsonStr = '{ "один" : "1", "два" : "2", "три" : "3"}'. Учитывая этот JSON и введенное значение «два», как я могу получить соответствующие данные «2»?
Остерегайтесь того, что .load предназначен для файлов; .loads предназначен для строк. См. также: Чтение JSON из файла.
Иногда документ JSON предназначен для представления табличных данных. Если у вас есть что-то подобное и вы пытаетесь использовать его с Pandas, см. Python – Как преобразовать файл JSON в Dataframe.
Некоторые данные на первый взгляд выглядят как JSON. , но не JSON.
Например, иногда данные получаются в результате применения repr к собственным структурам данных Python. . В результате могут использоваться кавычки по-другому, использовать True и False в заголовке, а не true и false, заданные JSON, и т. д. Такие данные см. в разделе Преобразование строкового представления. словаря в словарь или Как преобразовать строковое представление списка в список.
Другой распространенный формат варианта помещает отдельный действительным Данные в формате JSON в каждой строке входных данных. (Правильный JSON нельзя анализировать построчно, поскольку в нем используются сбалансированные скобки, которые могут находиться на расстоянии многих строк.) Этот формат называется JSONL. См. Загрузка файла JSONL в виде объектов JSON.
Иногда данные JSON из веб-источника дополняются дополнительным текстом. В некоторых контекстах это позволяет обойти ограничения безопасности в браузерах. Это называется JSONP и описано в разделе «Что такое JSONP и почему он был создан?». В других контекстах дополнительный текст реализует меру безопасности, как описано в разделе «Почему Google добавляет while(1); на их ответы в формате JSON?. В любом случае справиться с этим в Python просто: просто определите и удалите лишний текст и продолжайте, как и раньше.
Подробнее здесь: https://stackoverflow.com/questions/777 ... -in-python