如何在jquery中从Json获取值,设置文本值?

时间:2013-06-20 07:11:09

标签: c# jquery json

我有一个数据表,我将其序列化为json,然后解析为我的视图代码,我使用J Query来获取这些值。

当我使用

document.getElementById('Name').value = UserInfo.Name; 

Userinfo.Name = null,

由于无法读取我的UserInfo,我做错了什么。

有人可以告诉我如何从UserInfo中获取值。

以下是我的所有代码:

C#代码:

public JsonResult SearchForUser(int id)
{
    string Sjson = JsonConvert.SerializeObject(DataTable, Formatting.Indented);

    return Json(Sjson, JsonRequestBehavior.AllowGet);          
}

J查询代码:

$.post("SearchForUser", { id: id }, function (UserInfo) {
       if (UserInfo != "") 
        {   
            document.getElementById('Name').value = UserInfo.Name;
            document.getElementById('Surname').value = UserInfo.Surname;
        }
    });
杰森:

 "[   {
    "UserId": 5,
    "UserName": "JamesBond@MI6.com",
    "UserPassword": "007",
    "Name": "James",
    "RoleId": 2,
    "EmployeeId": 5,
    "Active": true,
    "Name1": "James",
    "Surname": "Bond",
    "IdNumber": "007",
    "PassportNumber": "700",
    "PhysicalAddress": "MI6",
    "PostalAddress": "MI7",
    "TelNumber": "0126659007",
    "SelNumber": "0837777007",
    "EmailAddress": "JamesBond@MI6.com",
    "Designation": "Spy",
    "DateEmployedFrom": "2013-06-19T00:00:00",
    "Active1": true   } ]"

额外: 我正在使用MVC剃刀。

提前致谢。

编辑仍然无法访问值(此编辑会回复答案)


enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

看起来您的JSON对象是一个包含一个项目的数组。在这种情况下,您应该访问UserInfo[0].Name。还要验证document.getElementById('Name')确实找到了一个元素。

此外,由于您使用的是jQuery,document.getElementById('Name') = UserInfo[0].Name可以重写为$('#Name').val(UserInfo[0].Name)

答案 1 :(得分:0)

使用var info=jQuery.parseJSON(UserInfo);来解析值,然后info.Name将为您提供结果

DEMO

与您的JSON对象结构Check here

类似