我一直在試圖弄清楚過去一週的情況,而我嘗試的所有事情似乎都不起作用。Node.js中的JSON數組
我必須在我的本地盒子上創建一個響應請求的Web服務。客戶(我沒有寫)會一次向我的服務詢問一個問題,我的服務器應該以適當的答案迴應。
所以最後的事情,我要做的是:
當POST請求在位置製造 '/排序'與參數'theArray',數組排序刪除所有非字符串值並返回結果值爲JSON。
- theArray參數將是一個字符串化JSON陣列
從通過試錯去我已經發現,所提供的參數是:
{"theArray":"[[],\"d\",\"B\",{},\"b\",12,\"A\",\"c\"]"}
我試過很多不同的東西來試圖讓這個工作。但是我能得到的最接近的東西是它只返回相同的東西或者什麼都沒有。這是我用得到這些結果的代碼:
case '/sort':
if (req.method == 'POST') {
res.writeHead(200,{
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
});
var fullArr = "";
req.on('data', function(chunk) {
fullArr += chunk;
});
req.on('end', function() {
var query = qs.parse(fullArr);
var strin = qs.stringify(query.theArray)
var jArr = JSON.parse(fullArr);
console.log(jArr); // Returns undefided:1
var par = query.theArray;
console.log(par); // returns [[],"d","B",{},"b",12,"A","c"]
function censor(key) {
if (typeof key == "string") {
return key;
}
return undefined;
}
var jsonString = JSON.stringify(par, censor);
console.log(jsonString); // returns ""
});
res.end();
};
break;
只是爲了澄清什麼,我需要它返回的["d","B","b","A","c"]
所以,如果有人可以請幫我這一點,如果可能的迴應,一些書面的代碼,有點建立的方式,將已經與我的代碼設置,這將是偉大的方式工作!由於
所以,你的對象被正確解析,你只需要把字符串元素?這更多是一個算法問題。我對麼? – davidbuzatto 2012-08-11 02:47:19
我會說是有點兒。我只需要返回數組中的刺。所以[],{}和12需要取出,所以我可以返回字符串 – Chad 2012-08-11 02:50:52
好的。看看我的答案。我會盡力去做你正在嘗試的方式。 – davidbuzatto 2012-08-11 02:54:05