Как разобрать такой файл JSON?

Я хочу проанализировать этот файл JSON.

чтобы получить что-то подобное со вторым столбцом как Canonical SMILES и третьим столбцом как Isomeric SMILES.

5317139<TAB><TAB>CCCC=C1C2=C(C3C(O3)CC2)C(=O)O1<TAB>CCC/C=C\\1/C2=C(C3C(O3)CC2)C(=O)O1

Может ли кто-нибудь показать мне, как это лучше всего сделать в jq?

1 ответ

Следующий сценарий jq (запускаемый с параметром командной строки -r) соответствует заявленным требованиям, предполагая, что возникновение <TAB><TAB> это опечатка:

def getString($TOCHeading):
  .. | objects | select( .TOCHeading == $TOCHeading)
  | .Information[0].Value.StringWithMarkup[0].String;

.Record
| [.RecordNumber,
   getString("Canonical SMILES"),
   getString("Isomeric SMILES")]
| @tsv

Этот скрипт производит:

5317139 CCCC=C1C2=C(C3C(O3)CC2)C(=O)O1  CCC/C=C\\1/C2=C(C3C(O3)CC2)C(=O)O1
Другие вопросы по тегам