var jsonObj = [] ;
for (var i = 0; i < data.jobs.length; i++) {
jsonObj.push({id: data.jobs[i].Dater, optionValue: data.jobs[i].INCPU});
}
alert(jsonObj);
我得到的結果作爲
[object Object],[object Object],[object Object]
var jsonObj = [] ;
for (var i = 0; i < data.jobs.length; i++) {
jsonObj.push({id: data.jobs[i].Dater, optionValue: data.jobs[i].INCPU});
}
alert(jsonObj);
我得到的結果作爲
[object Object],[object Object],[object Object]
那是因爲你是在提醒數組。嘗試提醒該陣列的單個索引。
alert(jsonObj[0])
它會輸出[object Object]? :D – 2011-04-18 13:06:01
alert(jsonObj [0]),這是輸出[對象對象] – Kiran 2011-04-18 13:13:34
如果要生成JSON序列化,請使用像json2.js這樣的JSON解析器庫。
當您將其傳遞到alert()
時,序列化表格也會產生預期結果。
@Marcelo這個答案意味着JSON序列化只能通過一個單獨的庫來實現。這當然不是真的,因爲所有當前的瀏覽器都實現了[JSON全局對象](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON)。 – 2011-04-18 13:40:02
@Šime:這取決於你定義爲最新的東西。如果你想支持IE7,它仍然有大約10%的市場,那麼你會遇到麻煩。而且,json2.js會自動回退內置的JSON對象(如果存在的話),所以避免它很少會被獲得。 – 2011-04-19 07:41:02
@Marcelo讓我重複自己。您的答案意味着JSON序列化只能通過單獨的庫實現。 *「如果您想要X功能,請將庫Y添加到您的網頁中」*表示要素X需要庫Y(或類似的庫)。更正確的答案是:*「如果您想要X功能,請使用函數Y「*(在這種情況下爲'JSON.stringify()'),然後*」注意:一些較舊的瀏覽器(IE6,IE7,FF3 - 〜20%的市場)不實現此功能。爲了支持這些瀏覽器,將庫Z添加到您的網頁「*」。 – 2011-04-19 12:23:52
我相信你正在努力實現這一目標:
var obj = [];
// populate obj in a loop
var jsonStr = JSON.stringify(obj);
alert(jsonStr);
又有什麼問題呢? – 2011-04-18 13:02:36
是的,你應該告訴你所看到的內容而不是 – 2011-04-18 13:06:51
* [沒有這樣的東西作爲「JSON對象」](http://benalman.com/news/2010/03/theres-no-such-thing-as -a-json /)* – 2011-04-18 13:46:51