首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分析Braces返回的JSON数据

如何分析Braces返回的JSON数据
EN

Stack Overflow用户
提问于 2015-06-25 20:19:58
回答 1查看 592关注 0票数 0

我正在对进行查询,该服务应该从数据库返回当前用户数据。在返回过程中,我得到了正确返回的数据,但是每次解析jSON时,我都会收到数据上的错误。我已经发了我的jQuery电话和WebService的回复。

我已经对它进行了强化,仍然无法解析data...it,似乎是在抱怨周围的大括号。

========================

ASMX伪

========================

代码语言:javascript
复制
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public String GetLDAPUser(string sam)
{
    ArrayList objs = new ArrayList();
    string sql = @"***SELECT USERS FROM AD THROUGH OPENQUERY***";
    using (SqlConnection connection = new SqlConnection(VMDATA))
    {
        connection.Open();
        using (SqlCommand cmd = new SqlCommand(sql, connection))
        {
            //Parameters
            cmd.Parameters.AddWithValue("@sam", sam);
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read()) 
                { 
                    objs.Add(new
                    {
                        Name = reader["Name"],
                        Login = reader["samAccountName"],
                        Mail = reader["Mail"],
                        DistinguishedName = reader["distinguishedName"],
                        DisplayName = reader["displayName"],
                        GivenName = reader["givenName"]
                    });
                }
            }
        }
    }
    return JsonConvert.SerializeObject(objs);
}

========================

jQuery CALL

========================

代码语言:javascript
复制
$(document).ready(function () {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/apps/Webservices/wsUsers.asmx/GetUser",
        data: "{'user': 'jwg1'}",
        dataType: "json",
        success: function (data) {
            var obj = data.d;
            console.log(obj);
        }
    });
});

========================

JSON数据

========================

代码语言:javascript
复制
[
  {
    "Mail": "joe.garrett@rineco.com",
    "samAccountName": "jwg1",
    "distinguishedName": "CN=Joe Garrett,OU=obfuscated,DC=com",
    "givenName": "Joe",
    "displayName": "Joe Garrett",
    "Name": "Joe Garrett"
  }
]
EN

回答 1

Stack Overflow用户

发布于 2015-06-25 20:32:50

正如depperm的评论中所述,您可能想要这样做

代码语言:javascript
复制
var obj=data.d[0];

这将允许您通过以下方式访问它的值

代码语言:javascript
复制
obj.Mail

代码语言:javascript
复制
obj.Name

等。

我不知道为什么您的数据会带着外部brackets[]返回,如果JSON只有一个成员,请考虑删除[]。然后,您的当前代码将更有效地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31060035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档