C# 如何检查我是否正确解析了JSON?

C# 如何检查我是否正确解析了JSON?,c#,asp.net,json,C#,Asp.net,Json,这是我第一次调用API并通过JSON输出进行解析。我知道我调用了API并检索了数据,因为我将其打印到了控制台上,但现在我想打印JSON的某个部分,例如:列表的所有标题(如果它有标题和其他一些信息) public async Task mainaync() { 使用(var client=new HttpClient())//创建一个将调用api的新客户端。 { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHe

这是我第一次调用API并通过JSON输出进行解析。我知道我调用了API并检索了数据,因为我将其打印到了控制台上,但现在我想打印JSON的某个部分,例如:列表的所有标题(如果它有标题和其他一些信息)

public async Task mainaync()
{
使用(var client=new HttpClient())//创建一个将调用api的新客户端。
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(“应用程序/json”);//接受json格式的标头
尝试
{
HttpResponseMessage response=await client.GetAsync(“http://quickstats.nass.usda.gov/api/api_GET/?key=MYKEYGOESHERE&commodity_desc=CORN&year__GE=2012&state_alpha=VA&format=JSON");                                                                                         
if(响应。IsSuccessStatusCode)
{
string contents=wait response.Content.ReadAsStringAsync();
控制台写入线(目录);
//List quickStat=JsonConvert.DeserializeObject(内容);
quickStats quickStat=JsonConvert.DeserializeObject(内容);
控制台。写入线(“完成”);
foreach(quickStat中的变量项)
{
控制台写入线(项目来源描述);
}
}
}
捕获(例外情况除外)
{
控制台写入线(例如消息);
//控制台写入线(“测试”);
}
}
}
}
类快速状态
{
公共字符串源描述{get;set;}
}
JSON不在数组中,因此我无法创建类似于注释行中的列表,然后对该列表执行foreach语句,如下所示:

我想知道如何打印“source_desc”的解析列表。
感谢您的帮助

它的结构是这样的

{"data":[
{"source_desc": "XXXX"}, 
{"source_desc": "OOOO"}, 
{"source_desc": "TTTT"}
]}
因此,序列化类应定义为:

class quickStats
{
   public List<quickStatsDetail> data { get; set; }
}

class quickStatsDetail
{
   public String source_desc { get; set; }
}
类快速状态
{
公共列表数据{get;set;}
}
类quickStatsDetail
{
公共字符串源描述{get;set;}
}

您能发布有效的api吗?我在调用上述api时收到未经授权的消息。如果响应是一致的结构,您可以将其转换为已定义的对象吗?在那之后,你可以用它做任何你喜欢的事情。@Tomato32每把钥匙都个性化为一封电子邮件,所以我故意把它漏掉了,我认为不需要它。然后创建一个具有相同结构的模型。看见
class quickStats
{
   public List<quickStatsDetail> data { get; set; }
}

class quickStatsDetail
{
   public String source_desc { get; set; }
}