Ошибка разбора JSON отсутствует запятая <number> - PullRequest
0 голосов
/ 10 января 2020

У меня есть столбец с varchar и я хочу преобразовать его в JSON с помощью parse_ Json. ( {u'meta ': {u’movedAt': None, u'validation ': {u'createdTime': 157 .... )

Когда я использую:

select get_path(PARSE_JSON(OFFER), 'field') from

эта ошибка происходит: SQL -Fehler [100069] [22P02]: ошибка анализа JSON: отсутствует двоеточие, позиция 3.

Поэтому я пытаюсь добавить двоеточие в позиции 3

select get_path(PARSE_JSON(REPLACE (offer,'u','u:')), 'field') from

Итак, эта ошибка произошла SQL -Fehler [100069] [22P02]: ошибка синтаксического анализа JSON: неоправданное двоеточие, pos 10

К настоящему времени я не знаю как справиться с этим и информация по снежинке не очень помогает. https://support.snowflake.net/s/article/error-error-parsing-json-missing-comma-pos-number

Спасибо за вашу помощь

1 Ответ

1 голос
/ 11 января 2020

Ваш 'JSON input' на самом деле является Python строкой представления его словарной структуры данных и не является допустимым JSON форматом . Хотя словари в Python могут выглядеть аналогично JSON при печати в интерактивной оболочке, они не совпадают.

Чтобы получить действительные JSON из ваших Python объектов, используйте json функции дампа или дампа модуля , а затем используйте правильную сериализованную строку JSON в вашей функции parse_ json.

...