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。干杯:)