//js解析json!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
創(chuàng)新互聯(lián)從2013年成立,先為晉江等服務建站,晉江等地企業(yè),進行企業(yè)商務咨詢服務。為晉江企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
html
head
titleMy JSP 'index.jsp' starting page/title script type="text/javascript"
window.onload=function(){
var json='{[{"logo":"","shopAddress":"廣東省深圳市","imgSize":null,"isYam":"N","shopId":"1","shopName":"shopEC電子商城","shopTel":"100000","shopPost":"51800","shopEmail":"shopEC@126.com","shopUrl":"","icp":"dfadsfdsa","storyWarn":"0"}]}';
var result=eval(json);
//取值
alert(result[0].shopAddress);
alert(result[0].imgSize)
}
/script
/head
body
/body
/html //代碼已經(jīng)執(zhí)行過
你好!
解析成數(shù)組是指,將json中的值取出來存放到數(shù)組中么?
也許下面代碼能給你點幫助:
$(document).ready(function(){
var?obj?=?jQuery.parseJSON('{"jobID":"020000715","username":"\u9a6c\u94f6\u534e","department":"\u7ee7\u7eed\u5b66\u9662"}');
var?myData=[];???????//定義一個數(shù)組變量
$.each(obj,function(key,value){
myData.push(value);
});
alert(myData);
});
1.數(shù)組
語法:
ECMAScript
v3規(guī)定了數(shù)組直接量的語法,JavaScript
1.2和JScript
3.0實現(xiàn)了它。可以把—個用逗號分隔的表達式列表放在方括號中,創(chuàng)建并初始化—個數(shù)組。這些表達式的值將成為數(shù)組元素。例如:
var
a
=
[1,
true,
'abc'];
具體操作查看API.
ps:必須方括號隔開。
2.關聯(lián)數(shù)組
1.語法:
var
myhash=
{”key1″:”val1″,
“key2″:”val2″
};//obj
2.var
myhash=
{key1:”val1″,
key2:”val2″
};//obj-也可以
ps:跟json格式幾乎相同,但是json格式要求更加嚴格(里面的鍵值對必須使用雙引號),但json只能作為一種格式標準,如果要對其進行操作必須轉換成關聯(lián)數(shù)組對象(obj)。
2.簡單操作
1.向Hash關聯(lián)數(shù)組添加鍵值
//
添加一個新鍵
newkey
,鍵值為
newval
myhash[”newkey”]
=
“newval”;
2.刪除Hash關聯(lián)數(shù)組已有鍵值
//
刪除一個鍵
newkey
,同時,該鍵值對應的
newval
也就消失了
delete
myhash[”newkey”];
3.遍歷Hash關聯(lián)數(shù)組
//
遍歷整個hash
數(shù)組
for
(key
in
myhash)
{
val
=
myhash[key];
}
4.獲得值
方式1.myhash.key1
方式2.myhash.key2
3.json
格式要求:
{”key1″:”val1″,
“key2″:”val2″
};//嚴格按照此格式,操作可依照關聯(lián)數(shù)組的操作
二.前后臺交互中幾個關鍵點
1.當服務器發(fā)送的數(shù)據(jù)不是一條json,而是多條json時,則應當聯(lián)系數(shù)組和關聯(lián)數(shù)組來組裝字符串
例如:var
objs
=
[{
id:
1,
name:
'n_1'
},
{
id:
2,
name:
'n_2'}];
2.至始至終服務器給客戶端的數(shù)據(jù)都只是字符串,因此為了讓其能夠在js中對其進行必要的操作,可以通過eval()進行轉換成js可執(zhí)行的對象。
因此jQuey中提供的$.parseJSON()是有局限的,如果是上面1提到的這種情況則就必須使用eval()進行轉換,然后再通過$.each(objs,function(i,o){...})進行操作
1、先定義一個json變量。
2、然后定義這個變量的值,其實一個json對象就是一個obj對象。
3、要添加json對象的元素,直接使用數(shù)組下標方式,添加鍵和值就行了。
4、要為json對象添加對象,我們可以先創(chuàng)建一個對象。
5、然后也是使用數(shù)組下標方式,為其賦值為新的對象變量就行了。
6、在瀏覽器里,我們就可以看到這個json對象了,而且新加的元素和對象都已經(jīng)在里面了。
Jquery解析json字符串、json數(shù)組
!doctype html
html
head
meta charset="utf-8"
script src="../js/libs/jquery-1.6.2.min.js"/script
/head
body
hr /
h3解析json字符串、json數(shù)組/h3
input type="button" id="jsonBtn" name="jsonBtn" value="jsonArray" /
input type="button" id="jsonArray2" name="jsonArray2" value="jsonArray2" /
input type="button" id="jsonStr" name="jsonStr" value="jsonStr" /
input type="button" id="jsonStr2" name="jsonStr2" value="jsonStr2" /
hr /
div class="jsonText"
{"ret": 0, "msg": "", "is_lost":0, "nickname": "小米", "gender": "男", "province": "廣東", "city": "廣州", "year": "1990", "figureurl": "http:\/\/qzapp.qlogo.cn\/qzapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/30", "figureurl_1": "http:\/\/qzapp.qlogo.cn\/qzapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/50", "figureurl_2": "http:\/\/qzapp.qlogo.cn\/qzapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/100", "figureurl_qq_1": "http:\/\/q.qlogo.cn\/qqapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/40", "figureurl_qq_2": "http:\/\/q.qlogo.cn\/qqapp\/101152201\/D87BF108B19279F31587CE96E5648A98\/100", "is_yellow_vip": "0", "vip": "0", "yellow_vip_level": "0", "level": "0", "is_yellow_year_vip": "0"}
/div
hr /
div class="jsonArray"
{ root:
[
{name:'1',value:'0'},
{name:'6101',value:'西安市'},
{name:'6102',value:'銅川市'},
{name:'6103',value:'寶雞市'},
{name:'6104',value:'咸陽市'},
{name:'6105',value:'渭南市'},
{name:'6106',value:'延安市'},
{name:'6107',value:'漢中市'},
{name:'6108',value:'榆林市'},
{name:'6109',value:'安康市'},
{name:'6110',value:'商洛市'}
],
json:
[
{name:'6103',value:'寶雞市'},
{name:'6104',value:'咸陽市'},
{name:'6107',value:'漢中市'},
{name:'6108',value:'榆林市'},
{name:'6110',value:'商洛市'}
]
}
/div
hr /
div class="jsonArray2"
[
{name:'1',value:'0'},
{name:'6101',value:'西安市'},
{name:'6102',value:'銅川市'},
{name:'6103',value:'寶雞市'},
{name:'6104',value:'咸陽市'},
{name:'6105',value:'渭南市'},
{name:'6106',value:'延安市'},
{name:'6107',value:'漢中市'},
{name:'6108',value:'榆林市'},
{name:'6109',value:'安康市'},
{name:'6110',value:'商洛市'}
]
/div
/body
/html
script type="text/javascript"
///jQuery 解析json字符串
//解析復雜的json數(shù)組
$("#jsonBtn").click(function(){
var data=$(".jsonArray").html();
alert("-----"+data);
var dataObj=eval("("+data+")");//轉換為json對象
alert(dataObj.root.length);//輸出root的子對象數(shù)量
alert(dataObj.json.length);//輸出json的子對象數(shù)量
//遍歷json數(shù)組
$.each(dataObj.root, function(i, item) {
alert(item.name+"-----root-------"+item.value);
});
//遍歷json數(shù)組
$.each(dataObj.json, function(i, item) {
alert(item.name+"-----json-------"+item.value);
});
});
//解析單個的json數(shù)組
$("#jsonArray2").click(function(){
var data=$(".jsonArray2").html();
alert("-----"+data);
var dataObj=eval("("+data+")");//轉換為json對象
alert(dataObj.length);//輸出root的子對象數(shù)量
//遍歷json數(shù)組
$.each(dataObj, function(i, item) {
alert(item.name+"-----jsonArray-------"+item.value);
});
});
///解析標準的Json串 方法一
$("#jsonStr").click(function(){
var json=$(".jsonText").html();
alert("---2--"+json);
var item = jQuery.parseJSON(json);
alert(item.nickname);
alert(item.ret);
alert(item.figureurl );
});
///解析標準的Json串,方法二
$("#jsonStr2").click(function(){
var json=$(".jsonText").html();
alert("---2--"+json);
var obj = eval("("+json+")");
alert(obj.nickname);
alert(obj.ret);
alert(obj.figureurl );
});
/script
分享題目:jquery解析json,jquery解析dom方式
分享路徑:http://www.rwnh.cn/article28/dsiggjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、響應式網(wǎng)站、云服務器、電子商務、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)