您没有发布完整的JSON字符串,所以让我们假设它是这样的:
{
"id": 123,
"parent_crumbs": [
"Platforms",
"STATS , EXPE , ESTAP",
"Portal"
]
}
您可以创建一个符合以下结构的C#模型,如下所示:
public class Data
{
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("parent_crumbs")]
public List<string> ParentCrumbs { get; set; }
}
然后将JSON字符串反序列化为Data类的实例:
string json = @"{
""id"": 123,
""parent_crumbs"": [
""Platforms"",
""STATS , EXPE , ESTAP"",
""Portal""
]
}";
Data data = JsonConvert.DeserializeObject<Data>(json);
foreach (string crumb in data.ParentCrumbs)
{
Console.WriteLine(crumb);
}
编辑
您可以使用以下方法代替对整个json字符串进行反序列化:
string json = @"{
""id"": 123,
""parent_crumbs"": [
""Platforms"",
""STATS , EXPE , ESTAP"",
""Portal""
]
}";
JObject data = JObject.Parse(json);
JToken crumbsToken = data.GetValue("parent_crumbs");
List<string> crumbs = JsonConvert.DeserializeObject<List<string>>(crumbsToken.ToString());
// alternative way to get the string values, as suggested by @BrianRogers
List<string> crumbs = crumbsToken.ToObject<List<string>>();
IEnumerable<string> strings = _task["parent_crumbs"].Select(s => s.Value<string>());
- Nikolaus