jQuery怎么解析Json字符串
2个回答
展开全部
///jQuery 解析json字符串
//解析复杂的json数组
$("#jsonBtn").click(function(){
var data=$(".jsonArray").html();
alert("-----"+data);
var dataObj=eval("("+data+")");//转换为json对象
alert(dataObj.root.length);//输出root的子对象数量
alert(dataObj.json.length);//输出json的子对象数量
//遍历json数组
$.each(dataObj.root, function(i, item) {
alert(item.name+"-----root-------"+item.value);
});
//遍历json数组
$.each(dataObj.json, function(i, item) {
alert(item.name+"-----json-------"+item.value);
});
});
//解析单个的json数组
$("#jsonArray2").click(function(){
var data=$(".jsonArray2").html();
alert("-----"+data);
var dataObj=eval("("+data+")");//转换为json对象
alert(dataObj.length);//输出root的子对象数量
//遍历json数组
$.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 );
});
运行结果:
展开全部
//$.parseJson可以把字符串转成json对象
//但对字符串格式要求比较严格
$.parseJSON('{"name":"alex"}'); //正常
$.parseJSON("{'name':'alex'}"); //报错
$.parseJSON("{name:'alex'}"); //报错
//可以用js自带的eval实现转换,要求不是那么严格
eval("(" + '{"name":"alex"}' + ")"); //正常
eval("(" + "{'name':'alex'}" + ")"); //正常
eval("(" + "{name:'alex'}" + ")"); //正常
//$.parseJSON就是调用JSON.parse实现的,效果一样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询