Я пытаюсь взять html и сгенерировать json, который сохраняет ту же структуру.
Я пытаюсь использовать pandoc, так как раньше мне удавалось преобразовывать вещи из формата A в формат B с помощью pandoc.
Я пытаюсь преобразовать этот файл:
пример.html
<p>Hello guys! What's up?</p>
Используя команду:
pandoc -f html -t json example.html
Я ожидаю что-то вроде:
[{ "p": "Hello guys! What's up?"}]
Что я получаю:
[
{ "Para":
[
{"t": "Str", "c": "Hello"},
{"t": "Space"},
{"t": "Str", "c": "guys!"},
{"t": "Space"},
{"t": "Str", "c": "What's"},
{"t": "Space"},
{"t": "Str", "c": "up?"}
]
}
]
Проблема, похоже, в том, что когда pandoc читает текстовое содержимое, он разделяет каждое слово на основе символа пробела и делает из него массив, в то время как я ожидал, что pandoc поймет, что вся строка является одним элементом.
Я новичок в pandoc, и я не смог узнать, как настроить это поведение.
У вас есть идея, как я могу получить желаемый результат? Вы знаете другой инструмент, который может сделать это? Инструмент или язык, на котором он написан, не имеет значения.
Спасибо.
Изменить: вы можете протестировать это поведение онлайн на этом онлайн-инструмент pandoc.
Изменить 2: Обходной путь. Я не мог найти, как выполнить преобразование HTML-> JSON с помощью pandoc. В качестве обходного пути я использовал предложение, предложенное в комментариях, и реализовал решение, используя Himalaya, который является пакетом узла. Результат именно то, что я хотел, даже если он не использует pandoc.
jq
, чтобы получить удобочитаемый JSON, например:echo "<p>Hello guys! What's up?</p>" | pandoc -f html -t json | jq
. - person tarleb   schedule 21.09.2018