【发布时间】:2019-06-24 05:48:46
【问题描述】:
我正在尝试实现一个将原始文本数据转换为 JSON 格式的解析器。正文如下。
(一个例子)
- # 菜单名称
- ## 部分名称
- ### 项目名称
- > 说明
- > 价格
> 图片网址(可选)
### 项目名称 2
- > 说明
- > 价格
- > 图片网址(可选)
元素的顺序将按照给定的顺序。
我想要的输出如下:
{
name: "menu name",
sections: [
{
name: "Section name",
items: [{
name: "item name",
description: "description",
price: 23.00
},
{
name: "item name",
description: "description",
price: 43.00
},
]
}
]
}
注意:每个部分可以有多个项目,每个菜单可以有多个部分。因此应保持顺序,即如果出现新部分,则下面的项目现在应该是该部分的一部分。
我尝试了一个使用字符串解析的解决方案,它工作正常,但我想知道执行此任务的标准方法。
【问题讨论】:
-
没有标准方法来解析自定义文本格式。
-
您可以编写自己的函数,在其中创建字符串格式的 json,完成后您可以将其解析为 JSON。
-
你已经做过什么了吗?让我们来看看它。从您的原始文本中,我看到了一个模式,如果模式是恒定的,也许有某种方式。
-
您可以使用 PEG,例如 pegjs
标签: javascript json parsing