Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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# 反序列化包含csv文件的json作为响应_C#_Json_Json.net - Fatal编程技术网

C# 反序列化包含csv文件的json作为响应

C# 反序列化包含csv文件的json作为响应,c#,json,json.net,C#,Json,Json.net,我得到以下回应 { "url": "https://XXX/plugins/servlet/export/exportAttachment?fileName=Cycle-SPRINT+19.csv" } 我正在使用这个类 public class csvBody { public string url { get; set; } } 和下面的代码 WebResponse response = (HttpWebResponse) request.GetResponse(

我得到以下回应

{
    "url": "https://XXX/plugins/servlet/export/exportAttachment?fileName=Cycle-SPRINT+19.csv"
}
我正在使用这个类

public class csvBody
{
    public string url { get; set; }    
}
和下面的代码

WebResponse response = (HttpWebResponse) request.GetResponse();
Stream newStream = response.GetResponseStream();
StreamReader sr = new StreamReader(newStream);
String resJson = sr.ReadToEnd();

var dict = JsonConvert.DeserializeObject<Dictionary<string, csvBody>>(resJson);
WebResponse=(HttpWebResponse)request.GetResponse();
Stream newStream=response.GetResponseStream();
StreamReader sr=新的StreamReader(新闻流);
字符串resJson=sr.ReadToEnd();
var dict=JsonConvert.DeserializeObject(resJson);
但是得到以下错误

Newtonsoft.Json.JsonSerializationException:'转换值时出错 "" 键入“ReadCSV.csvBody”。路径“url”,第1行,位置101。'


请告诉我反序列化此json响应的正确方法。

无需创建
字典。我使用相同的json字符串进行了测试,下面的解决方案适用于您

您可以使用
dict.url
访问
url

重要的是API只返回CSV文件的路径,而不是内容。

static void Main(string[] args)
{
    string json = "{ \"url\": \"https://XXX/plugins/servlet/export/exportAttachment?fileName=Cycle-SPRINT+19.csv\" }";

     var dict = JsonConvert.DeserializeObject<csvBody>(json);

     Console.ReadLine();
}
static void Main(字符串[]args)
{
字符串json=“{\”url\”:\”https://XXX/plugins/servlet/export/exportAttachment?fileName=Cycle-SPRINT+19.csv\“}”;
var dict=JsonConvert.DeserializeObject(json);
Console.ReadLine();
}

请提供JSON结果示例,以帮助您构建对象。您为什么要创建
字典
var dict=JsonConvert.DeserializeObject(json)
将对您有效。JSON响应位于问题的开头。我创建字典是为了能够进行迭代。如果是var,那么如何迭代?为什么需要在csvbody类中迭代单个字符串变量?@mach如果有用,请将其标记为answer/upvote。干杯:)