2010-12-07 201 views
4

我有被定義爲JSON陣列中存儲JSON陣列如下:在一個隱藏的HTML元素

var myItems = { 
    "data": [ 
    { "id":1, "firstName":"bill", "lastName":"smith" }, 
    { "id":2, "firstName":"john", "lastName":"apple" }, 
    { "id":3, "firstName":"will", "lastName":"long"} 
    ] 
}; 

我需要此數組存儲在隱藏的HTML元素,這樣我可以將它傳遞給我的服務器 - 以字符串格式表示的代碼。我的問題,我不知道如何做到這一點。有人能告訴我如何做到這一點?

謝謝!

回答

1

你有什麼是對象的文字,而不是JSON可是...但是我們可以很容易地使用JSON.stringify()轉換成JSON,像這樣:

document.getElementById("myHiddenInput").value = JSON.stringify(myItems); 

爲了支持無原生JSON支持舊的瀏覽器(IE < 8),include json2.js和上面的代碼仍然有效。

+0

....假設OP使用jQuery – Dutchie432 2010-12-07 12:50:53

+0

@ Dutchie432 - woops,誤讀了json標籤,但方法幾乎相同,但更新。 – 2010-12-07 12:52:47

2

使用此代碼:

document.getElementById('input').value = JSON.stringify(myItems); 

看到這裏的JSON文檔:

注:所有現代人的瀏覽器提供原生JSON解析(JSON.parse()JSON.stringify()至少部分支持。舊版瀏覽器不會。 As suggested by Nick Craver,你可以使用json2.js來做這件事,而且大多數JavaScript框架也提供支持(並且大多數人會嘗試檢測本地功能或使用他們自己的版本)。例如Dojo的Dojo.toJson()Dojo.toJson()