我使用的是Node.js和express (3.x)。我必须为mac客户端提供一个API,并从post请求中提取正确的字段。(必须使用request.param ),但是字段应该组合在一起返回到JSON,而不是字符串。
我得到了:
var obj = {
"title": request.param('title'),
"thumb": request.param('thumb'),
"items": request.param('items')
};request.param('items')包含一个object数组,但仍然是一个字符串:
'[{"name":"this"},{"name":"that"}]'我想要追加它,这样它就变成了:
var obj = {
"title": request.param('title'),
"thumb": request.param('thumb'),
"items": [{"name":"this"},{"name":"that"}]
};而不是
var obj = {
"title": request.param('title'),
"thumb": request.param('thumb'),
"items": "[{\"name\":\"this\"},{\"name\":\"that\"}]"
};有谁能帮我吗?JSON.parse不能解析对象数组,只能解析有效的JSON。
发布于 2013-07-16 18:12:49
这样如何:
var obj = JSON.parse("{\"items\":" + request.param('items') + "}");
obj.title = request.param('title');
obj.thumb = request.param('thumb');
JSON.stringify(obj);发布于 2013-07-16 18:17:48
也许我遗漏了一些东西,但它工作得很好:
> a = '[{"name":"this"},{"name":"that"}]';
'[{"name":"this"},{"name":"that"}]'
> JSON.parse(a)
[ { name: 'this' }, { name: 'that' } ]节点@0.10.13
发布于 2013-12-02 23:26:21
也许你有旧的库原型。当我移除它时,bug已经消失了。
您可以尝试相同的代码。一次在Prototype.js页面上。第二次在没有库的新页面中。
https://stackoverflow.com/questions/17673702
复制相似问题