• 技术文章 >php教程 >php手册

    Sencha touch 与PHP 怎么进行json 数据解析

    2016-06-06 19:58:02原创380

    ST 可以把数据包装成json式发送到php端 cartItemsStore = Ext.getStore('cartitemsconvert');var allData = [];cartItemsStore.each(function(records){allData.push(records.getData());});var dataToBeSentToServer = Ext.JSON.encode(allData);console.lo

    ST 可以把数据包装成json格式发送到php端

    cartItemsStore = Ext.getStore('cartitemsconvert');
    				var allData = [];
    				cartItemsStore.each(function(records){
    					allData.push(records.getData());
    				});
    				var dataToBeSentToServer = Ext.JSON.encode(allData);
    				console.log(dataToBeSentToServer);

    然后用jsonp或是ajax将数据传输到PHP端
    Ext.data.JsonP.request({
                		url: 'http://londit-50c03e41547f8.com.1130.url-test.com/dingcan/php/save-orders.php',
                		callbackKey: 'callback',
                		params: {
    		                sendData:dataToBeSentToServer
                		},
                		timeout:2000,
                		success: function(result, request) {
    	                	console.log('提交数据成功');
    	            	}
            		});

    然后PHP怎么获得这些json数据呢?红色部分是php的问题。如果不用stripslashes转换。stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。否则数据打印出来是空,还有个解决办法就是:The fix was to turn off magic_quotes in php.ini. If you do this, you will no longer need the call to stripslashes().
    $sendData = $_REQUEST['sendData'];
    $jsondata = stripslashes($sendData);
    //$sendData = '[{"id":"1","food":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","food":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';
    $arrayData = json_decode($jsondata);
    foreach($arrayData as $obj){
    	echo "id:".$obj->food."
    "; }

    另外附上PHP两种解析json数据的方法:

    在PHP代码中处理JSON 格式的字符串的两种方法:唯一不同已经highlight出来了

    方法一:

    $json ='[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';
    $students = json_decode($json);//得到的是 object
    foreach($students as $obj){
    echo "姓名:".$obj->name."年龄:".$obj->age." 专业:".$obj->subject."
    "; }


    方法二:

    $json ='[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d1\u5b66\u4e0e\u6280\u672f"},{"id":"2","name":"\u5f20\u6c9b\u9716","age":"21","subject":"\u8f6f\u4ef6\u5de5\u7a0b"}]';
    $students = json_decode($json, true);//得到的是 array
    for($i=0;$i";
    }
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:推荐2013年最佳PHP开发框架 下一篇:php5.3,5.4,5.5,5.6 中新特性
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP数组和explode函数示例总结,数组explode• php 连接 mysql数据库操作类• 基于DB2及PHP的应用系统跨平台迁移详细步骤(二)• PHP的内码转换函数 mb_convert_encoding()• Linux下CoreSeek及PHP扩展模块的安装
    1/1

    PHP中文网