簡體   English   中英

無法解析JSON字符串

[英]Unable to parse JSON string

這是來自服務器的JSON響應:-

{
    "Details": [
        {
            "ID": 234872,
            "Name": "asdfg",
            "Address": "hasgdkjfgsjaf,asfuysdfg",
            "Email": "",
            "Mobile": "",
            "Profile": "gwekjrg ",
            "Amt": 0,
            "Date": ""
        }
    ]
}

這是我編寫的js代碼,用於解析它並在我的應用中使用它:-

function getDetail(madeUrl) {
        $.ajax({
        url: madeUrl,
        type : "GET",
        dataType : "json",
        contentType: "application/json",
        success: function(msg) {
                $("#detail tr").remove();
                var searchResponse = msg.Details;
                var html;
                $.each(searchResponse, function(index, data) {
                    html = '<tr><td>' + data.Name + '</td> <td>' + data.Amt + '</td></tr>' + data.Profile + '</td></tr>' + data.Date + '</td></tr>';
                    $("#detail").append(html);
                });
                $('#report').fadeIn();
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert("errorstatus: " + xhr.status + " ajaxoptions: " + ajaxOptions + " throwError: " + thrownError);
            },
            complete : function() {

            }
        });
}

但這會引發錯誤,例如無法解析JSON字符串。無法找出原因。有幫助嗎?

請嘗試此代碼。 對我來說很好。 希望對您有幫助。 請告訴我。 謝謝。

HTML:

<div id="detail"></div>

腳本:

var j ='{"Details": [{"ID": "234872","Name": "asdfg","Address": "hasgdkjfgsjaf,asfuysdfg","Email": "","Mobile": "","Profile": "gwekjrg ","Date": ""}]}';

var json = $.parseJSON(j).Details;
$(json).each(function(i,val){
    $.each(val,function(k,v){
    console.log(k+" : "+ v); 
    $("#detail").append(k+" : "+ v + " <br />");
});
});

演示網址:

演示版

如果您有無法解析的JSON消息,則意味着JQuery無法將您的JSON視為無效。

可以肯定的是,我將從ajax調用中刪除dataType和contentType(默認數據類型為“ Intelligent Guess”,這意味着jquery如果檢測到它會自動解析JSon或發送文本),並在成功函數的開頭添加以下行:

alert(msg === Object(msg)?"json received:\n"+JSON.stringify(msg):"text received:\n"+msg);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM