Json Decoder не работает при декодировании строки, содержащей экранированную двойную кавычку

Вы можете использовать CASE:

SELECT tab1.*, tab2.*, 
  CASE WHEN tab1_id IS NOT NULL THEN 'Not excluded' ELSE 'excluded' END AS new_col
FROM tab1
LEFT JOIN tab2
  ON tab1.id = tab2.tab1_id
1
задан glennsl 19 January 2019 в 20:39
поделиться

1 ответ

Это недопустимая строка JSON, потому что вы не экранируете двойные кавычки на уровне JSON, только на уровне языка. После удаления первого уровня управляющих кодов ваша строка JSON будет выглядеть следующим образом:

"I said, "Hello""

Двойная кавычка перед «Hello» заканчивает строку, поэтому сообщение об ошибке говорит:

Неожиданный токен H в JSON в позиции 10

Строка JSON, которую вы хотите:

"I said, \"Hello\""

Чтобы создать ее как строковый литерал в Elm, вам нужно " double escape "двойные кавычки, что на практике означает просто добавление экранированной обратной косой черты перед каждой из экранированных двойных кавычек:

Decode.decodeString Decode.string "\"I said, \\\"Hello\\\"\""
0
ответ дан glennsl 19 January 2019 в 20:39
поделиться
Другие вопросы по тегам:

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