概述
JSON(javascript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于語言的文本格式,是理想的數(shù)據(jù)交換格式。同時,JSON是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON數(shù)據(jù)不須要任何特殊的 API 或工具包。
在JSON中,有兩種結(jié)構(gòu):對象和數(shù)組。
1.對象
一個對象以“{”開始,“}”結(jié)束。每個“key”后跟一“:”,“‘key/value' 對”之間運用 “,”分隔。
packJson = {"name":"caibaojian.com", "password":"111"}2.數(shù)組
packJson = [{"name":"caibaojian.com", "password":"111"}, {"name":"tony", "password":"111"}];數(shù)組是值的有序集合。一個數(shù)組以“[”開始,“]”結(jié)束。值之間運用 “,”分隔。
JSON對象和JSON字符串的轉(zhuǎn)換
在數(shù)據(jù)傳輸流程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵。例如:
JSON字符串:
var jsonStr = '{"name":"caibaojian", "password":"1111"}';JSON對象:
var jsonObj = {"name":"caibaojian.com", "password":"1111"};1、String轉(zhuǎn)換為Json對象
var jsonObj = eval('(' + jsonStr + ')');2.Json對象轉(zhuǎn)換為String字符串
var jsonStr = jsonObj.toJSONString();
jQuery遍歷json對象
grep
<script type='text/javascript' src="/jquery.js"></script><script type="text/javascript">$().ready(function(){var array = [1,2,3,4,5,6,7,8,9];var filterarray = $.grep(array,function(value){return value > 5;//篩選出大于5的});for(var i=0;i<filterarray.length;i++){alert(filterarray[i]);}for (key in filterarray){alert(filterarray[key]);}});</script>each
<script type='text/javascript' src="/jquery.js"></script><script type="text/javascript">$().ready(function(){var anObject = {one:1,two:2,three:3};//對json數(shù)組each$.each(anObject,function(name,value) {alert(name);alert(value);});var anArray = ['one','two','three'];$.each(anArray,function(n,value){alert(n);alert(value);});});</script>inArray
<script type='text/javascript' src="/jquery.js"></script><script type="text/javascript">$().ready(function(){var anArray = ['one','two','three'];var index = $.inArray('two',anArray);alert(index);//返回該值在數(shù)組中的鍵值,返回1alert(anArray[index]);//value is two});</script>map
<script type='text/javascript' src="/jquery.js"></script><script type="text/javascript">$().ready(function(){var strings = ['0','1','2','3','4','S','6'];var values = $.map(strings,function(value){var result = new Number(value);return isNaN(result) ? null:result;//isNaN:is Not a Number的縮寫});for (key in values) {alert(values[key]);}});</script>
新聞熱點
疑難解答
圖片精選