C# 使用JSON.Net解析JSON数组

C# 使用JSON.Net解析JSON数组,c#,asp.net,json,json.net,C#,Asp.net,Json,Json.net,我正在使用Json.Net解析一个数组。我试图做的是从数组中提取名称/值对,并在解析JObject时将它们分配给特定的变量 以下是我在阵列中得到的: [ { "General": "At this time we do not have any frequent support requests." }, { "Support": "For support inquires, please see our support page." } ] 这是我在C中得到的

我正在使用Json.Net解析一个数组。我试图做的是从数组中提取名称/值对,并在解析JObject时将它们分配给特定的变量

以下是我在阵列中得到的:

[
  {
    "General": "At this time we do not have any frequent support requests."
  },
  {
    "Support": "For support inquires, please see our support page."
  }
]
这是我在C中得到的:


我对JSON和JSON.Net相当陌生,所以它可能是其他人的基本解决方案。我基本上只需要在foreach循环中分配名称/值对,以便在前端输出数据。以前有人这样做过吗

您可以获得如下数据值:

string json = @"
[ 
    { ""General"" : ""At this time we do not have any frequent support requests."" },
    { ""Support"" : ""For support inquires, please see our support page."" }
]";

JArray a = JArray.Parse(json);

foreach (JObject o in a.Children<JObject>())
{
    foreach (JProperty p in o.Properties())
    {
        string name = p.Name;
        string value = (string)p.Value;
        Console.WriteLine(name + " -- " + value);
    }
}
stringjson=@”
[ 
{“常规”:“目前我们没有任何频繁的支持请求。”},
{“支持”:“有关支持查询,请参阅我们的支持页面。”}
]";
JArray a=JArray.Parse(json);
foreach(a.Children()中的JObject o)
{
foreach(o.Properties()中的JProperty p)
{
字符串名称=p.名称;
字符串值=(字符串)p.value;
Console.WriteLine(名称+“--”+值);
}
}
小提琴:使用Manatee.Json

您可以将整个对象转换为字符串,filename.json应该位于documents文件夹中

        var text = File.ReadAllText("filename.json");
        var json = JsonValue.Parse(text);

        while (JsonValue.Null != null)
        {
            Console.WriteLine(json.ToString());

        }
        Console.ReadLine();

我知道这是关于Json.NET的,但时代在变化,所以如果有人在使用.NET Core/5+System.Text.Json时在这里遇到了问题,请不要绝望,因为 从.NET博客中可以看到一个例子


你摇滚。。。meSir就是这样,你能告诉我如何获取/读取响应中的所有数据吗?我的意思是我的值是“关闭的”,我的响应中有80个值作为列表。如何访问这些值?请帮帮我。我已将我的文档迁移到GitHub页面:
        var text = File.ReadAllText("filename.json");
        var json = JsonValue.Parse(text);

        while (JsonValue.Null != null)
        {
            Console.WriteLine(json.ToString());

        }
        Console.ReadLine();
[
   {
       "date": "2013-01-07T00:00:00Z",
       "temp": 23,
   },
   {
       "date": "2013-01-08T00:00:00Z",
       "temp": 28,
   },
   {
       "date": "2013-01-14T00:00:00Z",
       "temp": 8,
   },
]
using (JsonDocument document = JsonDocument.Parse(json, options))
{
   int sumOfAllTemperatures = 0;
   int count = 0;

   foreach (JsonElement element in document.RootElement.EnumerateArray())
   {
       DateTimeOffset date = element.GetProperty("date").GetDateTimeOffset();
       (...)