你的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顺带也输出了吧,前提页面是你写的
<;!--你说id是不是鸡肋-->
展开全部
根据返回的字符串可以看出是多个json拼接成的js数组的形式。
如果返回的只是字符串须现将字符串转成js对象。
使用Jquery的$.each()方法循环js数组取出每一个json对象的数据。
str = '[{"key":"value","keys":[{"key1":"value1","key2":"value2"},{"key1":"value3","key2":"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中文网其他相关文章!