2015-10-26 3 views
2

i'm с помощью JQ https://stedolan.github.io/jq/ работать в Баш с моей JSON и когда я прочитал JSON бросает мне ошибкувопросы JQ с комментариями по Json файла

parse error: Invalid numeric literal at line 2, column 5= 

Поскольку мой JSON имеет некоторые комментарии

// comment 
    "spawn": {} 

Я видел, что видел варианты, и я не могу найти никакой возможности устранить проблему. Любая идея, как ее решить?

+1

Является ли этот комментарий строку '2' строки? Является ли '' spawn'' '' 'строка 2'? Являются ли комментарии вообще законными в json? –

+0

Нет, Json - всего лишь пример – paul

+0

Вы понимаете, что вы не можете показать нам буквальное сообщение об ошибке, а затем дать нам другой ввод, верно? Мы не можем помочь с этим в целом? (Кроме того, в этом случае, если вы сообщите нам, что у вас есть неверный ввод json для начала). –

ответ

2

JSON и, таким образом, JQ не поддерживают комментарии (в обычном смысле). В jq FAQ перечислены некоторые инструменты, которые можно использовать для удаления комментариев, включая jsonlint, json5 и any-json. Я бы рекомендовал тот, который может действовать как фильтр.

См. https://github.com/stedolan/jq/wiki/FAQ#processing-not-quite-valid-json для связи и дальнейшие детали.

2

Удалите их; JSON не поддерживает комментарии.

(JSON определяется here, вы можете увидеть описание сжатых грамматик here.)

+0

Мы не можем бояться – paul

+0

@paul Тогда вы не можете использовать инструмент, который анализирует json напрямую. –

+0

Вы можете удалить их из потока, который 'jq' читает, однако:' sed '| //.* ||' my.json | jq ... '. – chepner

Смежные вопросы