C# 错误:无法从System.String强制转换或转换
我遇到以下错误:C# 错误:无法从System.String强制转换或转换,c#,asp.net,json,asp.net-core,C#,Asp.net,Json,Asp.net Core,我遇到以下错误:ArgumentException:在尝试将json文件中的数据转换为字符串时,无法从System.String转换为API_STA_1.Classes.ProjectEnPersoneData. 我尝试获取的值是“不可用”,当我尝试获取其他值时,它确实起作用,但仅此值不起作用 JSON: 您从网络客户端获得的响应似乎有问题。我成功地将您的JSON解析到您的类中。使用以下命令 static void Main(string[] args) {
ArgumentException:在尝试将json文件中的数据转换为字符串时,无法从System.String转换为API_STA_1.Classes.ProjectEnPersoneData.
我尝试获取的值是“不可用”
,当我尝试获取其他值时,它确实起作用,但仅此值不起作用
JSON:
您从网络客户端获得的响应似乎有问题。我成功地将您的JSON解析到您的类中。使用以下命令
static void Main(string[] args)
{
var json = @"{""color"": ""red"", ""title"": ""Random Title"",
""unavailable"": [""2010-10-09"", ""2010-10-19"", ""2010-10-20"",""2010-10-
29""]}";
var res = JsonConvert.DeserializeObject<PDATA>(json);
foreach (var item in res.unavailable)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
public class PDATA
{
public string[] unavailable { get; set; }
public string title { get; set; }
public string color { get; set; }
}
static void Main(字符串[]args)
{
var json=@“{”颜色“:”红色“,”标题“:”随机标题“,
“不可用”:[“2010-10-09”、“2010-10-19”、“2010-10-20”、“2010-10-20”
29""]}";
var res=JsonConvert.DeserializeObject(json);
foreach(资源中的变量项不可用)
{
控制台写入线(项目);
}
Console.ReadLine();
}
公共类PDATA
{
公共字符串[]不可用{get;set;}
公共字符串标题{get;set;}
公共字符串颜色{get;set;}
}
如果不引用序列化字符串,很难说出来。添加以下内容并检查
var json=webclinet.DownloadString(路径);
var jsonResult=JsonConvert.DeserializeObject(json.ToString();
var jsonObject=JsonConvert.DeserializeObject(jsonResult);
首先我要澄清这个问题
OP有C类课程:
C#类型和JSON结构之间不匹配:
JSON中的Unavailable
是字符串数组,而在C#classprojects和users中是类型为ProjectenEnPersoneelDATA
的对象数组。这导致了异常
要解决此问题,您需要将C#类型调整为:
public class ProjectsAndUsers
{
public string[] unavailable { get; set;}
public IList<ProjectenEnPersoneelDATA> Types { get; set; }
}
public class ProjectenEnPersoneelDATA
{
public string title { get; set; }
public string color { get; set;}
}
公共类项目和用户
{
公共字符串[]不可用{get;set;}
公共IList类型{get;set;}
}
公共类项目NPERSONEELDATA
{
公共字符串标题{get;set;}
公共字符串颜色{get;set;}
}
json中包含unavailable
的父对象是什么样子的?@weichch Okprojects和users
类是什么样子的?它是否有unavailable
属性?是的,仍然是相同的错误@T.v.A.您可以发布下载的字符串吗?对不起,我不明白,您想让我发布什么?您在var json中获得的值从webClient.DownloadString()获取的json字符串中一定有问题,请发布该序列化值。
{
"unavailable": [
"2019-10-09",
"2019-10-14",
"2019-10-15",
"2019-12-21",
"2019-12-14",
"2019-12-02",
"2019-12-08"
],
"types": [
{
"title": "Veiligheidsinspectie",
"color": "#FF9D00"
},
{
"title": "Kwaliteitscontrole",
"color": "#B434DB"
},
{
"title": "Bezet",
"color": "#252525"
}
]
}
public class ProjectsAndUsers
{
public string[] unavailable { get; set;}
public IList<ProjectenEnPersoneelDATA> Types { get; set; }
}
public class ProjectenEnPersoneelDATA
{
public string title { get; set; }
public string color { get; set;}
}