【发布时间】:2021-06-05 01:27:48
【问题描述】:
我想循环一个 JSON 数据并将其中的一部分放在一个单独的数组中。
我有这个 JSON 数据:
{"msg":"[{"parent":"0","child":"1"},{"parent":"0","child":"2"}]","sig":"3045022100b3f03c83ed1f3d0bc72475550f23c0dd38277b0e2230e1fe76611577b2ca4b7e022037c77d37cc08ed897d0d1a11d09342e6abb73e641d20d5d55f367044d5489ddf"}
我只想像这样创建一个msg 数组:
[ '0', '1', '0', '2 ]
我的代码:
var message = '[{"msg":[{"parent":"0","child":"1"},{"parent":"0","child":"2"}],"sig":"3045022100b3f03c83ed1f3d0bc72475550f23c0dd38277b0e2230e1fe76611577b2ca4b7e022037c77d37cc08ed897d0d1a11d09342e6abb73e641d20d5d55f367044d5489ddf"}]'
var g = [];
const jsArray = JSON.parse(message);
Array.from(jsArray.msg).forEach(jsdata => {
console.log(jsdata)
g.push(jsdata.parent, jsdata.child)
})
console.log(g);
我无法满足我真正想要的内容:
[
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined,
... 10 more items
]
请问我该如何解决? 提前致谢
【问题讨论】:
-
msg是否包含字符串值?如果是这样,您还需要JSON.parse:Array.from(JSON.parse(jsArray.msg)) -
JSON 字符串不是有效的 JSON。
msg中包含的数组不能被引用为合法的。 -
如您所见,您的代码会产生语法错误,因为 JSON 格式错误。请编辑您的问题以提供 actual JSON 字符串。
-
@RandyCasburn 谢谢!你说得对。我已经编辑了代码。
-
太好了——请看我的回答。
标签: javascript node.js arrays json loops