python анализирует данные json с двойными кавычками

Как вы анализируете данные json с двойными кавычками:

json.loads(' { "time":"1410661614", "text":"This is great", "from": { "username":"mrb", "id":"5071", "full_name":"Free "Mrb"" #here is the problem }, "id":"8090107" } ') 

python возвращает:

 ValueError: Expecting ',' delimiter: line 1 column 107 (char 106) 

2 Solutions collect form web for “python анализирует данные json с двойными кавычками”

Вы можете легко исправить эту проблему, избежав двойную кавычку ( \" )

 import json json.loads(""" { "time":"1410661614", "text":"This is great", "from": { "username":"mrb", "id":"5071", "full_name":"Free \\"Mrb\\"" }, "id":"8090107" } """) 

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

Тот, кто написал программу, которая испускает эти неэкранированные кавычки внутри строк, требует серьезного разговора с …

Как сказал Мартийн, разбор произвольных сумасшедших цитат непросто.

OTOH, если JSON в противном случае хорошо сформирован, а оскорбительные строки не пересекают границы линии, то это не так уж плохо. Например,

 #! /usr/bin/env python ''' Escape quotes in malformed JSON value strings Written by PM 2Ring 2014.09.19 ''' import re data = [ ''' "evil_name":"Free "Mrb"",''', ''' "good_name":"Alan Turing",''' ] for line in data: pre, val = line.split(':') parts = re.split('(")', val) n = parts.count('"') if n > 2: i = 1 a = [] for c in parts: if c == '"': if 1 < i < n: c = '\\"' i += 1 a.append(c) line = pre + ':' + ''.join(a) print line 

Вывод

  "evil_name":"Free \"Mrb\"", "good_name":"Alan Turing", 
  • Невозможно выполнить циклический отклик API с Python
  • json разбор с python
  • Сериализация вложенного namedtuple в JSON с помощью Python> = 2.7
  • Как я могу сериализовать массив numpy при сохранении размеров матрицы?
  • python: json.dumps не может обрабатывать utf-8?
  • HTTP-сервер Python отправляет ответ JSON
  • Как я могу использовать python для определения конкретного значения json по ключу?
  • Python json.loads ValueError, ожидающий разделитель
  • Python: создать генератор списка JSON serializable
  • повысить ImgurClientError («JSON-декодирование ответа не удалось».) imgurpython.helpers.error.ImgurClientError: JSON-декодирование ответа не удалось
  • pretty-print json в python (pythonic way)
  •  
    Interesting Posts for Van-Lav

    Как включить файлы изображений в шаблоны Django?

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

    Ошибка конечных точек приложения AppEngine Google: сбой настройки конфигурации службы (код состояния 404)

    Замена элемента списка содержимым другого списка

    Как кодировать имя файла UTF8 для заголовков HTTP? (Python, Django)

    python: получить каталог на два уровня вверх

    Ошибка травления при многопоточности – проблема с дизайном или кодом?

    Можно ли отправлять асинхронные уведомления с сервера на клиент через те же TCP-соединения?

    Как правильно использовать механику для очистки сайтов AJAX

    Как я могу показать np.array с pylab.imshow ()

    python: list vs tuple, когда использовать каждый?

    Можем ли мы использовать переменную python для хранения всего файла?

    Как получить несколько возвращаемых значений функции, вызванной многопроцессорной обработкой. Процесс

    Модуль GPS Python: чтение последних данных GPS

    Вызовите функцию python в C-коде

    Python - лучший язык программирования в мире.