如何使用JsonConvert SerializeObject从Dataset解析json数据

时间:2016-06-01 06:39:32

标签: jquery asp.net json ajax wcf

我正在使用WCF服务来交互数据库中的数据以获取数据和发布数据。对于那个使用jquery ajax。我从WCF服务获取数据。但我无法解析json数据。我尝试了大多数方法。但我无法实现。

WCF服务:

[ServiceContract]
public interface IService
{
    [OperationContract]
    [WebGet(UriTemplate = "/GetUserDetails?uname={uname}",
    BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, 
    ResponseFormat = WebMessageFormat.Json)]
    string GetUserDetails(string userName);
}

[AspNetCompatibilityRequirements
(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class Service : IService
{
    public string GetUserDetails(string userName)
    {
        SqlParameter[] sqlparams = new SqlParameter[1];
        DataLayer dal = new DataLayer();
        DataSet ds = new DataSet();

        sqlparams[0] = new SqlParameter("@UserName", userName);

        ds = dal.GetDataSet("dbConn", "GetUserDetailsSP", sqlparams);

        string jsonValue = JsonConvert.SerializeObject(ds);
        return jsonValue; ;
    }
}

的Ajax:

        $.ajax({                 
                type: 'GET',
                contentType: 'application/json; charset=utf-8',
                url: './Services/Service.svc/GetUserDetails',
                data: { uname: 'e0205' },
                async: false,
                dataType: 'json',
                success: function (response) {
                    //var testMsg = $.parseJSON(response);
                    alert(response.GetUserDetailsResult);
                },
                error: function (error) {
                    alert(error);
                }
            });

Json数据:

{"GetUserDetailsResult":"{\"Table\":[{\"UserName\":\"E0205\",\"EmpName\":\"Manjeet\",\"LocationName\":\"Gurgaon\",\"Designation\":\"Analyst\"}]}"}

我在努力解析ajax中的数据。

1 个答案:

答案 0 :(得分:0)

因为我无法看到响应从服务中实际返回的内容

我建议尝试:

1)JSON.parse(response.data);

以及您的dataType:'json'

你可以简单地使用

...
success: function (response) {
    console.log(response.GetUserDetailsResult.Table[0]);
},