跟题目一样php如何接收post过来的JSON数据我是初学者希望高手帮帮忙

解决方案 »

  1.   

    你可以看下json_encode,json_decode
      

  2.   

    $str = $_POST['jsonStr'];$jsaonO = json_decode ($str)
      

  3.   

    POST过来的JSON数据,一般直接用接受就好
    打个比方
    var allUnivList = [{
            "id": 1,
            "univs": [{
                "id": 1001,
                "name": "清华大学"
            },
            {
                "id": 1002,
                "name": "北京大学"
            }],
            "country_id": 0,
            "name": "北京"
        }]//比如你传递的是上面这个JSON格式,在PHP端,举个用JQ提交的例子:
    $.ajax({
                    url: "test.php",
                    type: "post",
                    data: { allcity: allUnivList},
                    success: function (data) {                  
                          alert(data);
                    },
                    error: function () {
                        alert("系统异常!");
                    }
                });
    以上是JS部分,以下是PHP部分:
    //一般直接使用
    $allcity=$_POST['allcity'];
    echo $allcity['name'];
    这样alert出来的结果应该是北京
      

  4.   

    json_decode函数将字符串按照josn的方式解析。$_POST这个还用说么...
      

  5.   

    var_dump(file_get_contents('php://input'));
      

  6.   

    [code=php]var data=" 

    root: 

    {name:'1',value:'0'}, 
    {name:'6101',value:'西安市'}, 
    {name:'6102',value:'铜川市'}, 
    {name:'6103',value:'宝鸡市'}, 
    {name:'6104',value:'咸阳市'}, 
    {name:'6105',value:'渭南市'}, 
    {name:'6106',value:'延安市'}, 
    {name:'6107',value:'汉中市'}, 
    {name:'6108',value:'榆林市'}, 
    {name:'6109',value:'安康市'}, 
    {name:'6110',value:'商洛市'} 

    }"; 
    这是PHP传输的数据在JS中这样解析[code=text]var dataObj=eval("("+data+")");//转换为json对象 
    alert(dataObj.root.length);//输出root的子对象数量 
    $.each(dataObj.root,fucntion(idx,item){ 
    if(idx==0){ 
    return true; 
    } //输出每个root子对象的名称和值 
    alert("name:"+item.name+",value:"+item.value); 
    })
      

  7.   

    http://zhidao.baidu.com/link?url=ctVVWjf0rhTOlXZKi_XT1H5NZ3sWu1ZaFfCTwfKQuBhezKW7goiV-0bY_Kc6FmxKiPwjWZ9PReQ1EZNd3Kv33dOWU0ciu9Kj9jRuiknXEDK