jquery对Json的各种遍历方法总结(必看篇)
概述
JSON(javascriptObjectNotation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,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字符串:
varjsonStr='{"name":"caibaojian","password":"1111"}';
JSON对象:
varjsonObj={"name":"caibaojian.com","password":"1111"};
1、String转换为Json对象
varjsonObj=eval('('+jsonStr+')');
2.Json对象转换为String字符串
varjsonStr=jsonObj.toJSONString();
jQuery遍历json对象
grep
<scripttype='text/javascript'src="/jquery.js"></script> <scripttype="text/javascript"> $().ready( function(){ vararray=[1,2,3,4,5,6,7,8,9]; varfilterarray=$.grep(array,function(value){ returnvalue>5;//筛选出大于5的 }); for(vari=0;i<filterarray.length;i++){ alert(filterarray[i]); } for(keyinfilterarray){ alert(filterarray[key]); } } ); </script>
each
<scripttype='text/javascript'src="/jquery.js"></script> <scripttype="text/javascript"> $().ready( function(){ varanObject={one:1,two:2,three:3};//对json数组each $.each(anObject,function(name,value){ alert(name); alert(value); }); varanArray=['one','two','three']; $.each(anArray,function(n,value){ alert(n); alert(value); } ); } ); </script>
inArray
<scripttype='text/javascript'src="/jquery.js"></script> <scripttype="text/javascript"> $().ready( function(){ varanArray=['one','two','three']; varindex=$.inArray('two',anArray); alert(index);//返回该值在数组中的键值,返回1 alert(anArray[index]);//valueistwo } ); </script>
map
<scripttype='text/javascript'src="/jquery.js"></script> <scripttype="text/javascript"> $().ready( function(){ varstrings=['0','1','2','3','4','S','6']; varvalues=$.map(strings,function(value){ varresult=newNumber(value); returnisNaN(result)?null:result;//isNaN:isNotaNumber的缩写 } ); for(keyinvalues){ alert(values[key]); } } ); </script>
原生js遍历json对象
遍历json对象:
无规律:
<script> varjson=[{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}]; for(vari=0,l=json.length;i<l;i++){ for(varkeyinjson[i]){ alert(key+':'+json[i][key]); } } </script>
有规律:
packJson=[ {"name":"nikita","password":"1111"}, {"name":"tony","password":"2222"} ]; for(varpinpackJson){//遍历json数组时,这么写p为索引,0,1 alert(packJson[p].name+""+packJson[p].password); }
也可以用这个:
for(vari=0;i<packJson.length;i++){ alert(packJson[i].name+""+packJson[i].password); }
遍历json对象
myJson={"name":"caibaojian","password":"1111"}; for(varpinmyJson){//遍历json对象的每个key/value对,p为key alert(p+""+myJson[p]); }
有如下json对象:
varobj={"name":"冯娟","password":"123456","department":"技术部","sex":"女","old":30}; 遍历方法: for(varpinobj){ str=str+obj[p]+','; returnstr; }
以上就是小编为大家带来的jquery对Json的各种遍历方法总结(必看篇)的全部内容了,希望对大家有所帮助,多多支持毛票票~