1、先要区分JSON字符串和JSON对象
JSON字符串:
Var strJSON = “{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}”,
或者
Var strJSON =
‘{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}’,
这表示一个JSON字符串,由于在Js中单引号和双引号都可以表示一个字符串,所以上面第一个使用双引号和第二个使用单引号的都表示一个JSON字符串。
JSON对象:
Var JSON =
{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]},
JSON对象最外面是没有单引号或者双引号的,这就表示一个JSON对象
2.jquery脚本:(返回到js后的处理)
第一种要用到varl转化的:是字符串的时候就要用eval转化成jquery对象:
var arr =
‘{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}}‘;//u71d5u5b50这个是php中自动转换的
var
dataObj = eval("("+arr+")");
$.each(dataObj,function(idx,item){
//输出
alert(item.id+"哈哈"+item.name);
})
第二种:不需要转化的:
var arr =
{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}};
$.each(arr,function(idx,item){
//输出
alert(item.id+"哈哈"+item.name);
})
循环也有两种方法:
//方法一:
$.each(arr,function(idx,item){
//输出
alert(item.id+"哈哈"+item.name);
})
//方法二:
for(var key in arr){
alert(key);
alert(arr[key].status);
}
ajax返回JSON时的处理方式
1,使用普通的aspx页面来处理
前台:
$.ajax({
type:
"post",
url:
"Default.aspx",
dataType:
"json",
success: function (data)
{
$("input#showTime").val(data[0].demoData);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert(errorThrown);
}
});
后台:
Response.Clear();
Response.Write("[{"demoData":"This Is The JSON
Data"}]");
Response.Flush();
Response.End();
这种处理的方式将传递过来的数据直接解析为json数据,也就是说这里的前台js代码可能直接把这些数据解析成json对象数据,而并非字符串数据,如data[0].demoData,这里就直接使用了这个json对象数据
转载:http://www.php100.com/html/program/jquery/2013/0905/5912.html
javascript操作JSON字符,布布扣,bubuko.com