js解析处理JSON格式的数据,有多种方法.
成都创新互联专注于企业成都营销网站建设、网站重做改版、武乡网站定制设计、自适应品牌网站建设、H5页面制作、商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为武乡等各大城市提供网站开发制作服务。
(1)现在大多标准浏览器,都带有对JSON的支持,可以直接通过js调用处理:
var obj=JSON.parse(str);//str是php传来的json数据
(2)使用了jquery等js库,一般都会提供对json的支持,比如使用jQuery:
var obj=jQuery.parseJSON(str);//str是php传来的json数据
(3)可以使用json.js来增加浏览器的功能(一般针对性引用,在浏览器不支持json时加载json.js)
(4)简单粗暴的解决方法:
var obj = eval ("(" + txt + ")");//txt是php传来的json数据
但是使用eval不安全,而且需要是有效的json数据.如果你能保证是安全且正确的数据,可以这样简单处理.
?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?
script src="js/jquery-1.7.2.min.js"/script
script type="text/javascript"
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//转换成数组对象,不加这步,那么PHP获取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2个参数必须是键值对形式
alert(res);
});
});
});
/script
input id="xx" type="button" value="点击"
首先你需要使用对方约定方式获取,然后考虑是否使用缓存,最后获取到数据后使用json_decode函数解析成数组格式,接下来就是自己的逻辑代码了。