我在轉換某些JSON時遇到了一些問題,並且我得到了一些幫助。這是我的問題,我已經JSON返回以下內容:JSON的收到(從CSV文件)Javascript對象到數組
例子:
[
{
"rating": "0",
"title": "The Killing Kind",
"author": "John Connolly",
"type": "Book",
"asin": "0340771224",
"tags": "",
"review": "i still haven't had time to read this one..."
},
{
"rating": "0",
"title": "The Third Secret",
"author": "Steve Berry",
"type": "Book",
"asin": "0340899263",
"tags": "",
"review": "need to find time to read this book"
},
cut for brevity
]
現在,這是對象的一個一個維數組,但我有一個函數,我需要通過這個將只需要一個多維數組。我無法改變這一點。我一直在網上尋找周圍的轉換和整個這個代碼就來了:
if (! obj.length) { return [];} // length must be set on the object, or it is not iterable
var a = [];
try {
a = Array.prototype.slice.call(obj, n);
}
// IE 6 and posssibly other browsers will throw an exception, so catch it and use brute force
catch(e) {
Core.batch(obj, function(o, i) {
if (n <= i) {
a[i - n] = o;
}
});
}
return a;
但我的代碼一直陷在「無對象長度」的一部分。當我遍歷每個對象時,我逐字逐句逐字。不幸的是,這些字段名稱(評級,標題,作者)等沒有設置,我無法使用obj.Field標記訪問任何內容。
我被困在這個;有沒有辦法將這些對象轉換爲數組,還是我必須返回到開頭並轉儲JSON?
到底你想如何「轉換」對象?換句話說,結果數組需要看起來像什麼?對此沒有單一的答案。它可能是很多不同的東西,但是你需要調用的這個函數需要特別的東西。 – Pointy 2011-06-02 13:38:06