你的id不連續,這個id屬性雞肋了
我想到兩種方法
1、
可以取出頁面上的所有文字方塊 歷遍dom 或 用jquery $("texterea") 或 querySelectorAll("textarea")
var data={},nodes=querySelectorAll("textarea");//可能所有文字方塊都是有用的
for(var i=0,l=nodes.length;i data[nodes[i].id]=nodes[i].value;//如果有不符合條件的文字方塊 這裡也可以過濾掉 }; var json=JSON.stringify(data);//json出來了 傳送到新的頁面?不知道你是要什麼樣的2、 你程式輸出頁面的時候就把json順帶也輸出了吧,前提頁面是你寫的#
#
##
展開全部
根據傳回的字串可以看出是多個json拼接成的js陣列的形式。
如果傳回的只是字串鬚現將字串轉成js物件。
使用Jquery的$.each()方法循環js數組取出每個json物件的資料。
str = '[{"key":"value","keys":[{"key1":"value1","key2":"value2"},{"key1"key2":"value2"},{"key1":" ":"value4"}],"obj":{"id":1,"msg":"success"}}]';
str_json = eval("(" str ")");//將字串轉換成js物件
$.each(str_json,fucntion(a,b){#alert(a);//彈出陣列的key
alert(b.id);//彈出要取出的資料
});
先說一句~你的陣列有文法錯誤~
而在JS中json是字串表現形式,你的B顯然是個對象,跟json沒啥關係的~
所以是在js物件(陣列)和json字串之間轉換~
那你的A(js中實例使用Camel規則,所以要寫成小寫a)就應該寫成:
var a = {
name: "XXXX", //屬性也是Camel規則
year: 1990,
old: 21
};
然後就是轉換問題了,使用JSON類別:
var b = JSON.stringify(a); //注意,b是json字串
如果找不到JSON物件說明你瀏覽器版本太老#就需要手動引用json類別庫
請自行"json2.js"下載並引用
希望對您有幫助~
By Billskate
json 陣列zhidao也是陣列
//1、
var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]";
var jsonarray = eval('(' jsonstr ')');
var arr =
{
"name" : $('#names').val(),
"value" : $('#values').val()
}
jsonarray.push(arr);
//2、
var json={};// 定義一個json物件
json.array1=["2","4"];// 增加一個新屬性,此版屬性是數組權
json.array1[json.array1.length]='6';// 陣列追加一個元素
alert(json.array1)###
以上是使用JavaScript如何透過循環提取文字方塊內容並將其轉換為JSON格式在新視窗中顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!