我正在尝试从下面的JSON获取"response"
对象的值。
我有一个问题,因为我不知道如何从JSON获取数据。我是新来的。
{
"error": false,
"response": {
"id": 6818,
"name": "Krashnz",
"avatar": "https:\/\/static.truckersmp.com\/avatarsN\/6818.1538179228.png",
"smallAvatar": "https:\/\/static.truckersmp.com\/avatarsN\/small\/6818.1538179228.png",
"joinDate": "2014-11-14 01:33:03",
"steamID64": 76561198046080290,
"steamID": "76561198046080290",
"groupName": "Developer",
"groupID": 2,
"banned": false,
"bannedUntil": null,
"displayBans": false,
"permissions": {
"isGameAdmin": true,
"showDetailedOnWebMaps": false
},
"vtc": {
"id": 1,
"name": "TruckersMP Developers",
"tag": "TMP-DEV",
"inVTC": true,
"memberID": 1579
}
}
}
我该怎么做?我在C#中工作
答案 0 :(得分:3)
您可以使用json2csharp之类的工具将json转换为C#类。然后使用Newtonsoft.Json nuget包将json反序列化到您的类中。
创建下面的类。然后您可以像这样反序列化:
var json = // your json string
var root = JsonConvert.DeserializeObject<RootObject>(json);
var response = root.Response;
// classes below
public class Permissions
{
public bool isGameAdmin { get; set; }
public bool showDetailedOnWebMaps { get; set; }
}
public class Vtc
{
public int id { get; set; }
public string name { get; set; }
public string tag { get; set; }
public bool inVTC { get; set; }
public int memberID { get; set; }
}
public class Response
{
public int id { get; set; }
public string name { get; set; }
public string avatar { get; set; }
public string smallAvatar { get; set; }
public string joinDate { get; set; }
public long steamID64 { get; set; }
public string steamID { get; set; }
public string groupName { get; set; }
public int groupID { get; set; }
public bool banned { get; set; }
public object bannedUntil { get; set; }
public bool displayBans { get; set; }
public Permissions permissions { get; set; }
public Vtc vtc { get; set; }
}
public class RootObject
{
public bool error { get; set; }
public Response response { get; set; }
}