【发布时间】:2019-11-22 21:07:44
【问题描述】:
我想使用正则表达式将下面的 JSON 对象拆分为其各自的键和值,并将值包装在 html p 标记中。
{
"completeOrder": [
{
"optionDescription": "Choose your size?",
"optionTotal": 3,
"dataMax": 0,
"name": [
"wheat",
" dough",
" rice"
],
"price": [
"34",
"23",
"45"
],
"require": false,
"dataSingleproduct": false,
"innerOptions": [],
"extraOptions": [
...
]
}
]
}
我想要的返回字符串如下所示:
{
completeOrder: [{
optionDescription:
<p>Choose your size</p>
optionTotal:
<p>3</p>
dataMax:
<p>0</p>
name: [
<p>Wheat</p>
...
]
...
]
}
这个 JSON 对象保存在一个文件中,通过 node.js 的“fs.read”功能接收。 我收到 str 变量中的对象,目前这是我目前拥有的代码,它给了我接近我想要的东西,但它缺少我需要的形式。
let val= str.split(/[\r\n|\r|\n|{|}|:|,|\[|\]]/gi);
for (let i = 0; i < val.length; i++) {
// if(sentences[i] !== ""){
console.log(val[i])
// }
}
我的代码去掉了字符(“{”、“[”、“]”、“}”、“:”),但我没有去掉它们。 任何帮助将不胜感激
【问题讨论】:
-
降级,为什么?,仍然没有答案嗯。好的
-
我认为这里的人们已经厌倦了试图滥用 REXEP 的人。无论如何,你为什么不直接使用任意数量的 json 解析器(此时可能已内置)并进入一个真实的数据结构,然后对其进行处理?
-
大声笑,这很有趣,从来没有想过有滥用 REGEX 的东西,所以请详细说明你的意思 "json 解析器(可能在此时内置)并进入真正的数据结构,然后处理它?”,这个领域对我来说还是相当新的。
标签: javascript regex match