Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反序列化包含头数组和单独嵌套行数组的JSON_C#_Json_Serialization_Json.net - Fatal编程技术网

C# 反序列化包含头数组和单独嵌套行数组的JSON

C# 反序列化包含头数组和单独嵌套行数组的JSON,c#,json,serialization,json.net,C#,Json,Serialization,Json.net,我想从一个使用API的页面中读取,该API以下面的嵌套JSON格式给出结果: { "rootEntity": "function", "count": 92516, "header": ["eventNumber", "startDate", "eventType"], "results": [ ["40262-1", "Tuesday, December 12, 2017", "Corporate"], ["14361-1", "

我想从一个使用API的页面中读取,该API以下面的嵌套JSON格式给出结果:

{
    "rootEntity": "function",
    "count": 92516,
    "header": ["eventNumber", "startDate", "eventType"],
    "results": [
        ["40262-1", "Tuesday, December 12, 2017", "Corporate"],
        ["14361-1", "Monday, October 23, 2017", "School"],
        ["5014-1", "Friday, October 13, 2017", "Birthday"]
    ]
}
下面是我用来反序列化JSON的代码。但这是一个错误。我做错了什么

using (StreamReader reader = new StreamReader(responseStream))
{         
     JObject o = (JObject)JToken.ReadFrom(new JsonTextReader(reader));

     reader.Close();
     JArray jarr = (JArray)o["results"];

     jsonString = String.Join("\\", jarr);
}

jsonString = jsonString.Trim('"');

var resp = JsonConvert.DeserializeObject<WebResp>(jsonString);
jsonResponse = resp.results.ToArray();
使用(StreamReader=newstreamreader(responseStream))
{         
JObject o=(JObject)JToken.ReadFrom(新的JsonTextReader(reader));
reader.Close();
JArray jarr=(JArray)o[“结果”];
jsonString=String.Join(“\\”,jarr);
}
jsonString=jsonString.Trim(“”);
var resp=JsonConvert.DeserializeObject(jsonString);
jsonResponse=resp.results.ToArray();

我将创建一个如下所示的助手方法,将响应流中的结果转换为
列表

输出:

eventNumber: 40262-1
startDate: Tuesday, December 12, 2017
eventType: Corporate

eventNumber: 14361-1
startDate: Monday, October 23, 2017
eventType: School

eventNumber: 5014-1
startDate: Friday, October 13, 2017
eventType: Birthday

Fiddle:

…不同的Json格式,非常不同…-什么?这是一个有效的Json。什么与不同有很大的不同(不管这意味着什么)?Hi Rufu..当然..这是有效的Json。只是我第一次遇到它。“但它给我带来了错误。”“=>错误是什么?发布您的
WebResp
课程。还有,为什么在反序列化之前要做所有这些json字符串呢?哪一行抛出了错误?您好,欢迎来到stackoverflow。为了帮助您,我们需要看到一个重现您的问题的示例,其中包括您正在反序列化的JSON和您正在尝试反序列化的c#类型(此处
WebResp
)。您已经共享了JSON和反序列化代码,所以您已经完成了一半以上,您还可以共享
WebResp
吗?另请参见和,以了解如何编写更容易得到回答的问题的技巧。
var results = GetResultsFromResponseStream(responseStream);

foreach (var item in results)
{
    foreach (var kvp in item)
    {
        Console.WriteLine(kvp.Key + ": " + kvp.Value);
    }
    Console.WriteLine();
}
eventNumber: 40262-1
startDate: Tuesday, December 12, 2017
eventType: Corporate

eventNumber: 14361-1
startDate: Monday, October 23, 2017
eventType: School

eventNumber: 5014-1
startDate: Friday, October 13, 2017
eventType: Birthday