[英]Parsing request.body to string then create JSON
我现在被困在将字符串解析为 json 类型。 我已将请求正文归结为字符串,但似乎无法正确解析数据。
我有的:
String to parse:
uniq1.data.data.data 7 bleep\nuniq2.data.data.data 4 boop\nuniq3.data.data.data 7 bleep\ntets4.data.data.data 7 bleep\nuniq5.data.data.data 7 bleep\ntest6.data.data.data 7 fgws
想将字符串转换为具有以下结构的 JSON,以便我可以将其插入 mongoose db:
name: uniq1
typeID: 7
type: bleep
name: uniq2
typeID: 4
type: boop
name: tets4
typeID: 7
type: bleep
目前我正在尝试用逗号替换所有 '\n' 新行,以便我可以使用逗号解析数据,但是当我执行 bodyText.replace( new RegExp( "\n", "g" ),", ") 字符串中没有任何变化。 我还认为 go 可能有更好的方法来解决这个问题,我没有想到。
谢谢你的帮助!
你可以试试这个-
let str = "uniq1.data.data.data 7 bleep\nuniq2.data.data.data 4 boop\nuniq3.data.data.data 7 bleep\ntets4.data.data.data 7 bleep\nuniq5.data.data.data 7 bleep\ntest6.data.data.data 7 fgws"; const arr = str.split("\n"); const json = arr.reduce((acc, curr) => { const [first, typeID, type] = curr.split(" "); const [name] = first.split('.'); acc.push({name: name, typeID, type}); return acc; }, []); console.log(json);
.as-console-wrapper{min-height: 100%;important: top; 0;}
注意:我发现类似bleep\uniq5
而不是bleep\nuniq5
。 如果request.body
发送给你的正是这个,那么你就不走运了。
const a = "uniq1.data.data.data 7 bleep\nuniq2.data.data.data 4 boop\nuniq3.data.data.data 7 bleep\ntets4.data.data.data 7 bleep\nuniq5.data.data.data 7 bleep\ntest6.data.data.data 7 fgws";
const b = a.split("\n");
const c = b.map((el) => el.split(" "));
const d = c.map(([name, typeID, type]) => {
return { name, typeID, type };
});
console.log(d);
b
将主体分割成线。 c
将每行拆分为一个数组,每个数组除以每个空格。 d
将每行的数组与键映射到 object 中。
我稍微改变了输入。 \uniq5
这部分看起来不一致,我认为应该是\nuniq5。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.