我一直在尋找幾天的答案,並且似乎沒有任何工作。我有點新node.js,我只在服務器端從客戶端回答POST。這有點像我必須做的任務。我需要做的是,當客戶端腳本,我沒有寫,使用參數theArray
位置'/ sort'POST請求,我需要排序數組,刪除所有非字符串值,並返回結果值爲JSON 。客戶端腳本將發送字符串化的JSON數組中的Array參數。所以像這樣的東西在Node.js中對JSON進行排序
{"theArray":"[[],\"d\",\"B\",{},\"b\",12,\"A\",\"c\"]"}
。
我已經試過這個代碼在這裏:
case '/sort':
if (req.method == 'POST') {
res.writeHead(200,{
'Content-Type': 'application/json'
});
var fullArr = "";
req.on('data', function(chunk) {
fullArr += chunk;
});
req.on('end', function() {
var jPar = JSON.parse(fullArr);
var arr = "";
var par = jPar.theArray;
arr += par;
function censor(key, value) {
if (typeof value == "string") {
return value;
}
return undefined;
}
var jsonString = JSON.stringify(par, censor);
console.log(jsonString);
});
res.end();
};
break;
,但它與返回錯誤的:
undefined:1
%2C%22A%22C%22
^
SyntaxError: Unexpected token h
at Object.parse (native) ...
是否有人可以幫助我,如果你能告訴我一些代碼,以幫助。由於
有什麼辦法,你可以給我怎麼做,請 – Chad 2012-08-09 04:38:00
我添加答案的例子示例 – 2012-08-09 05:11:49
我在JSON.parse之前的地方有過qs.parse,但它返回的是相同的東西。基本上我改變它的原因是因爲我認爲qs.parse的需求就像key1 = value1&key2 = value2。而我把它放在裏面就像是「theArray」:「[[],\」d \「,\」B \「,{},\」b \「,12,\」A \「,\」c \「]」 – Chad 2012-08-09 05:19:40