经常被json解析搞疯,索性总结一下。
后台代码是php
首先
php生成json
$data ['list'] = htmlspecialchars( json_encode ( $list ));
生成的值的形式为:
[{'mcid':1;'mcname':'test'},{'mcid':2;'mcname':'test2'}]
传到页面的隐藏域时页面的处理:
var jsonlist = $('#list').val();
if(jsonlist != '[]'){ //判断是否为空,否则JSON.parse会报错
//解析方法1
var list = JSON.parse(jsonlist);
var list = $.parseJSON(jsonlist);
var list = jQuery.parseJSON(jsonlist);
//循环解析
for(var i in list){//用for循环解析
var mcid = list[i].mcid;//获取属性值
}
for(i = 0; i < list.length ; i++){//另一种for循环解析
var mcid = list[i].mcid;//获取属性值
}
$(list).each(function(i,item){//用each循环
var mcid = this.mcid;//获取属性值
var mcid = list[i].mcid;//获取属性值
var mcid = item.mcid;//获取属性值
});
}