ajax回调json数据遍历取出数据

 
 

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。· 在JSON中,有两种结构:对象和数组。 1.对象 一个对象以“{”开始,“}”结束。每个“key”后跟一“:”,“‘key/value’ 对”之间运用 “,”分隔。 packJson = {"name":"caibaojian.com", "password":"111"} 2.数组 packJson = [{"name":"caibaojian.com", "password":"111"}, {"name":"tony", "password":"111"}]; 数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用 “,”分隔。 JSON对象和JSON字符串的转换 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如: JSON字符串: var jsonStr = '{"name":"caibaojian", "password":"1111"}'; JSON对象: var jsonObj = {"name":"caibaojian.com", "password":"1111"}; 1、String转换为Json对象(eval) var jsonObj = eval('(' + jsonStr + ')'); 2.Json对象转换为String字符串 //code from http://caibaojian.com/jquery-each-json.html var jsonStr = jsonObj.toJSONString(); var data=[{name:"a",age:12},{name:"b",age:11},{name:"c",age:13},{name:"d",age:14}];         for(var o in data){           alert(o);           alert(data[o]);           alert("text:"+data[o].name+" value:"+data[o].age );         }   js完成。或是 <script type="text/javascript">   function text(){     var json = {"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"value/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"}      json = eval(json.options)     for(var i=0; i<json.length; i++)     {        alert(json[i].text+" " + json[i].value)     }   }   </script>   或者 var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"}, {"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"}, {"id":"5","tagName":"pineapple"}]';   $.each(JSON.parse(json), function(idx, obj) {     alert(obj.tagName); });   //or    $.each($.parseJSON(json), function(idx, obj) {     alert(obj.tagName); }); 问题: JSON 字符串 下面的例子中,声明了一个JSON字符串(随附单或双引号)直接地。 复制代码 var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"}, {"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"}, {"id":"5","tagName":"pineapple"}]';   $.each(json, function(idx, obj) {     alert(obj.tagName); }); 在Chrome中,它显示在控制台下面的错误: Uncaught TypeError: Cannot use 'in' operator to search for '156'  in [{"id":"1","tagName":"apple"}... 解决方案:JSON字符串转换为JavaScript对象。 要修复它,通过标准JSON.parse()或jQuery 的 $.parseJSON 将其转换为JavaScript对象。 var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"}, {"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"}, {"id":"5","tagName":"pineapple"}]';   $.each(JSON.parse(json), function(idx, obj) {     alert(obj.tagName); });   //or    $.each($.parseJSON(json), function(idx, obj) {     alert(obj.tagName); }); 还有一种就是使用eval

猜你喜欢

转载自blog.csdn.net/jaryle/article/details/78594002