繁体   English   中英

如何解析JSON对象?

[英]How to parse JSON object?

我试图通过Java脚本从php Web服务获取数据。在我的项目中,解析JSON时发生错误。

我的PHP Web服务是这样的

<?php
header("Content-Type:application/json");

try {
    if(!empty($_POST['mobile_number']))
    {
        $number = $_POST['mobile_number'];
        $number = $_POST['user_type'];
        deliver_response(200, "success", $number);      
    }
    else 
    {
        deliver_response(400, "no parameter", $number);
    }

} catch (Exception $e) {
    echo("message".$e->getMessage());

}


function deliver_response($status,$status_message,$data)
{
    header("HTTP/1.1 $status $status_message");

    $response['status'] = $status;
    $response['status_message'] = $status_message;
    //$response['data'] = $data;

    $json_response = json_encode($response);
    echo $json_response;    
}
?>

我试图像这样调用上面的webservice

function logingAuth(){
    var mnumber= $("#uname").val();
    var utype= $("#pword").val();
    try{
    $.post("http://192.168.1.55/rest/signup.php", { mobile_number: mnumber,user_type:utype }, parseResults);
}
catch(err)
{
alert(err.message);
}
    function parseResults(json){
        var obj = jQuery.parseJSON(json);
        alert(obj.status);
    }   
}

但是由于var obj = jQuery.parseJSON(json);而导致此方法无法正常工作 线。

如果我这样称呼它的工作

function parseResults(json){
        alert(json.status);

    }   

这是什么问题

jQuery将自动为您识别响应类型并采取适当措施。 在这种情况下,它将自动将JSON反序列化为对象,因此在您尝试反序列化对象时,对parseJSON的调用将导致错误。 只需删除该行:

function parseResults(json){
    alert(json.status);
}   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM