如何使用 asp.net 解析 Json 文件

本文关键字:Json 文件 解析 net 何使用 asp | 更新日期: 2023-09-27 18:37:02

我对 Json 文件有问题,我不知道如何在归因内部获取归因,这是我的 json 文件的格式

    {
"people" : [
{
    "url": "'/alfresco'/service'/api'/people'/guest",
    "userName": "guest",
    "enabled": false,
    "firstName": "Guest",
    "lastName": "",
    "jobtitle": null,
    "organization": null,
    "organizationId": "", 
    "location": null,
    "telephone": null,
    "mobile": null,
    "email": "",
    "companyaddress1": null,
    "companyaddress2": null,
    "companyaddress3": null,
    "companypostcode": null,
    "companytelephone": null,
    "companyfax": null,
    "companyemail": null,
    "skype": null,
    "instantmsg": null,
    "userStatus": null,
    "userStatusTime": null,
    "googleusername": null,
    "quota": -1,
    "sizeCurrent": 0,
    "emailFeedDisabled": false,
    "persondescription": null
}
        ,
{
    "url": "'/alfresco'/service'/api'/people'/mjackson",
    "userName": "mjackson",
    "enabled": false,
    "avatar": "api'/node'/workspace'/SpacesStore'/519ebedc-0827-4fba-a8e3-c51e39385e0c'/content'/thumbnails'/avatar",
    "firstName": "Mike",
    "lastName": "Jackson",
    "jobtitle": "Web Site Manager",
    "organization": "Green Energy",
    "organizationId": null, 
    "location": "Threepwood, UK",
    "telephone": "012211331100",
    "mobile": "012211331100",
    "email": "mjackson@example.com",
    "companyaddress1": "100 Cavendish Street",
    "companyaddress2": "Threepwood",
    "companyaddress3": "UK",
    "companypostcode": "ALF1 SAM1",
    "companytelephone": "",
    "companyfax": "",
    "companyemail": "",
    "skype": "mjackson",
    "instantmsg": "",
    "userStatus": "Working on a new web design for the corporate site",
    "userStatusTime": { "iso8601": "2011-02-15T21:13:09.649+01:00"},
    "googleusername": "",
    "quota": -1,
    "sizeCurrent": 8834773,
    "emailFeedDisabled": false,
    "persondescription": "Mike is a demo user for the sample Alfresco Team site."
}
        ,

]
}

我只想获取用户名归属的值

这是我的代码:

 WebClient c = new WebClient();
                     var data = c.DownloadString(url2);
                     Console.WriteLine(data);
                     JObject o = JObject.Parse(data);
                     Response.Write("Name: " + o["people"]); //here i want to get ["people"]["userName"]

PS:对不起我的英语

如何使用 asp.net 解析 Json 文件

People 是一个数组,而不是包含用户名的对象。

将此模型添加到项目中的文件中:

    public class Rootobject
{
    public Person[] people { get; set; }
}
public class Person
{
    public string url { get; set; }
    public string userName { get; set; }
    public bool enabled { get; set; }
    public string firstName { get; set; }
    public string lastName { get; set; }
    public string jobtitle { get; set; }
    public string organization { get; set; }
    public string organizationId { get; set; }
    public string location { get; set; }
    public string telephone { get; set; }
    public string mobile { get; set; }
    public string email { get; set; }
    public string companyaddress1 { get; set; }
    public string companyaddress2 { get; set; }
    public string companyaddress3 { get; set; }
    public string companypostcode { get; set; }
    public string companytelephone { get; set; }
    public string companyfax { get; set; }
    public string companyemail { get; set; }
    public string skype { get; set; }
    public string instantmsg { get; set; }
    public string userStatus { get; set; }
    public Userstatustime userStatusTime { get; set; }
    public string googleusername { get; set; }
    public int quota { get; set; }
    public int sizeCurrent { get; set; }
    public bool emailFeedDisabled { get; set; }
    public string persondescription { get; set; }
    public string avatar { get; set; }
}
public class Userstatustime
{
    public DateTime iso8601 { get; set; }
}

然后像这样解析用户名:

var json = JsonConvert.DeserializeObject<Rootobject>(data);
foreach (var person in json.people) {
    Console.WriteLine("Name: " + person.userName);
}

在模型类更改中:

public int quota { get; set; }

自:

public long quota {get; set;}