我正在尝试使用html并生成一些保持相同结构的json .
我正在尝试使用pandoc,因为我在使用pandoc之前将事物从格式A转换为格式B方面取得了一些成功 .
我正在尝试转换此文件:
example.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的初学者,我无法找到如何调整这种行为 .
你知道我如何获得所需的输出吗?你知道另一种可以做到这一点的工具吗?该工具或其编写的语言无关紧要 .
谢谢 .
Edit :您可以在pandoc online tool上在线测试该行为 .
Edit 2 :解决方法 . 我找不到如何使用pandoc进行HTML-> JSON转换 . 作为一种解决方法,我使用了评论中提出的建议,并使用Himalaya实现了一个解决方案,这是一个节点包 . 结果正是我所希望的,即使它没有使用pandoc .
2 回答
目前,pandoc JSON表示不是非常易读的,而是从Haskell pandoc数据类型(也就是文档AST)自动生成的 . 有一些discussion to change that eventually .
我猜你在找像https://codebeautify.org/xmltojson这样的东西?似乎也有plenty of commandline-tools that do that .
Pandoc,它是一个转换文档的工具,文档的
json
表示,它只是Pandoc可以处理AST(抽象语法树)的另一种表示形式问pandoc,输出
json
,就是要求它的json
格式的AST树,如果我理解正确,你需要的东西更像是
xml
到json
转换器,如Python xmljson模块或在线工具,如this one .当你想象它时,有很多工具可以用于这项工作,只需谷歌XML到JSON转换 .
在pandoc中使用的AST的
json
表示,它通常用于从pandoc输出它,并将其传递到另一个可以处理json
文件的程序中,因此您可以更改AST并使过滤器来操作文档的结构 .