在 C# 中对嵌套属性使用 JsonConvert.DeserializeObject() 方法
Using JsonConvert.DeserializeObject() Method for nested attributes in c#
我有以下 JSON 文件,希望有人能告诉我如何使用 [=16= 简单地访问嵌套的“player_status”和“previous_teams”值]() 方法。任何比我见过的过时网站更好的参考 tot 教程也会有所帮助。
谢谢
选项 1 是解析或查询 json。请查看 Querying JSON with LINQ or Querying JSON with SelectToken 的官方 Json.NET 或 JsonDocument.Parse 的新 System.Text.Json 序列化程序。
如果您want/need要使用JsonConvert.DeserializeObject
,那么您将需要创建一组类来代表您的数据。
public class League
{
public List<Team> Details { get; set;}
}
public class Team
{
public List<AboutPlayers> Players {get; set;}
}
public class AboutPlayers
{
public List<Capatin> Captains {get; set;}
}
public class Captain
{
public string Player_Status{get; set;}
public PlayerHistory Player_History {get; set;}
}
(...)
可以使用JSON路径查询。参见:https://www.newtonsoft.com/json/help/html/QueryJsonSelectToken.htm
JObject json = JObject.Parse("{ json string }");
var playerStatus = json.SelectToken("details[0].players.captains[0].player_status");
var previousTeams = json.SelectToken("details[0].players.captains[0].player_history.previous_teams");
我有以下 JSON 文件,希望有人能告诉我如何使用 [=16= 简单地访问嵌套的“player_status”和“previous_teams”值]() 方法。任何比我见过的过时网站更好的参考 tot 教程也会有所帮助。
谢谢
选项 1 是解析或查询 json。请查看 Querying JSON with LINQ or Querying JSON with SelectToken 的官方 Json.NET 或 JsonDocument.Parse 的新 System.Text.Json 序列化程序。
如果您want/need要使用JsonConvert.DeserializeObject
,那么您将需要创建一组类来代表您的数据。
public class League
{
public List<Team> Details { get; set;}
}
public class Team
{
public List<AboutPlayers> Players {get; set;}
}
public class AboutPlayers
{
public List<Capatin> Captains {get; set;}
}
public class Captain
{
public string Player_Status{get; set;}
public PlayerHistory Player_History {get; set;}
}
(...)
可以使用JSON路径查询。参见:https://www.newtonsoft.com/json/help/html/QueryJsonSelectToken.htm
JObject json = JObject.Parse("{ json string }");
var playerStatus = json.SelectToken("details[0].players.captains[0].player_status");
var previousTeams = json.SelectToken("details[0].players.captains[0].player_history.previous_teams");