【发布时间】:2015-04-26 18:52:51
【问题描述】:
我想知道如何在 NodeJS 中解析 JSON 对象数组?
我想将 JSON 数组发布到服务器,并能够将接收到的数组用作常规 JavaScript 数组。
提前致谢。
这是我使用 stringify 函数将 Array 转换为 String 的前端部分
document.getElementById("sendJson").addEventListener("click", function () {
$.post("/echo", JSON.stringify(QuestionsArray), function (data) {
alert(data);
});
})
这是我尝试将 JSON 对象数组转换为数组的后端部分
app.post('/echo', function (req, res) {
var Array = JSON.parse(JSON.stringify(req.toString()));
res.end(Array[0]["QuestionText"].toString());
});
这是我试图发送到服务器的数组:
[
{
"QuestionText":"What is your Name",
"QuestionType":1
},
{
"QuestionText":"Where are you from",
"QuestionType":2,
"ChoiceList":[
"US",
"UK"
]
},
{
"QuestionText":"Are you married",
"QuestionType":3,
"ChoiceList":[
"Yes",
"No"
]
}
]
【问题讨论】:
-
如果你已经在发送一个字符串化的数组(为什么你首先要这样做),你为什么要再次在服务器上对其进行字符串化?
-
如果在 NodeJS 部分中没有 stringify,我会遇到异常。 s1.postimg.org/v2urhx0kf/Capture.png
-
您需要使用 bodyparser 中间件,只需发布数组而不进行字符串化。
-
@VsevolodGoloviznin 请帮助伙计,我被困了好几天了。
-
req.body可以工作,并消除解析和字符串化的复杂性
标签: javascript arrays json node.js