Parsing 如何使用PetitPasser编写JSON格式化程序?

Parsing 如何使用PetitPasser编写JSON格式化程序?,parsing,dart,formatter,petitparser,Parsing,Dart,Formatter,Petitparser,据我所知,是一个解析器,我们可以定义语法和动作来解析一些文本 我已经成功地使用了它的内置JSON解析器来解析一些JSON字符串,但我还想做更多的工作。我想写一个JSON格式化程序,它可以将JSON格式化为漂亮的打印样式 但我不知道该怎么办。我是否必须创建一些节点并为已解析的JSON构建树?怎么做呢 我正在寻找一些样品,但还没有找到。PetitPasser不会直接帮助您进行漂亮的打印 在特定的示例中,您可以编写代码来遍历映射,列出解析器返回的结果,并根据需要打印 或者(通常对于更复杂的语法),您可

据我所知,是一个解析器,我们可以定义语法和动作来解析一些文本

我已经成功地使用了它的内置JSON解析器来解析一些JSON字符串,但我还想做更多的工作。我想写一个JSON格式化程序,它可以将JSON格式化为漂亮的打印样式

但我不知道该怎么办。我是否必须创建一些节点并为已解析的JSON构建树?怎么做呢

我正在寻找一些样品,但还没有找到。

PetitPasser不会直接帮助您进行漂亮的打印

在特定的示例中,您可以编写代码来遍历映射,列出解析器返回的结果,并根据需要打印

或者(通常对于更复杂的语法),您可以将JsonGrammar子类化并生成自定义解析节点的AST。然后编写访问者或递归遍历节点以相应地格式化数据。政府正是这样做的

PetitParser for Smalltalk附带了一个名为PrettyPetit的小框架,它可以帮助您使用块布局引擎以最佳方式放置、包装和对齐字符串;但是,生成此类格式化指令的过程与如上所述手动执行的过程相同。

链接已失效