使用jquery从Web服务解析JSON

时间:2016-03-30 13:01:38

标签: jquery json web-services

我正在使用网络服务获取一些统计信息。 Web服务获得的结果是JSON格式。

我使用以下jquery从Web服务获取结果:

$.ajax({
    type: "POST",
    url: webMethod,
    //data: parameters,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (json) {
        console.log(json);
        var obj = $.parseJSON(json);
        alert(obj.Admin_3_New);
    }
})

日志如下所示:

Object {d: "{"Admin_3_New":6,"Admin_3_ReNew":2,"NewFinalApprov…val":19,"VisitCount_All":25,"VisitCount_Today":0}"}

当我尝试解析返回的JSON时,它变为null。

任何想法

1 个答案:

答案 0 :(得分:0)

您的数据应如下所示:

{d: {Admin_3_New:6,Admin_3_ReNew:2,NewFinalApproval:19,VisitCount_All:25,VisitCount_Today:0}};

在花括号上删除双引号(“”),这应解决您的问题。

要测试它,您可以尝试在浏览器控制台中运行以下代码:

var test = {d: {Admin_3_New:6,Admin_3_ReNew:2,NewFinalApproval:19,VisitCount_All:25,VisitCount_Today:0}};

您将能够在不将对象解析为JSON的情况下访问值,即test.d.Admin_3_New //这将返回'6'

编辑回答:

var data = 'Object {d: "{"Admin_3_New":6,"Admin_3_ReNew":2,"NewFinalApprov…val":19,"VisitCount_All":25,‌​"VisitCount_Today":0}"}'; 
data = data.replace('Object {d: ',''); 
data = data.substring(1, data.length - 2); 
var parsedValue = $.parseJSON(data);