定义我有一个表示开始和结束时间,而我试图在C#中反序列化,以制定出入库时间JSON字符串。C#jSON.net - 无法解析反序列化的字符串 - 字符串不包含X
JSON字符串被构建为如下:
private string getTimes(int user)
{
string jSON = "";
string x = """;
switch(user)
{
case 1:
jSON = "{'startTime':08:00,'endTime':'16:00'}".Replace("'",x);
break;
case 2:
jSON = "{'startTime':09:00,'endTime':'17:00'}".Replace("'", x);
break;
case 3:
jSON = "{'startTime':12:00,'endTime':'20:00'}".Replace("'", x); ;
break;
}
jSON = JsonConvert.SerializeObject(jSON);
return jSON;
}
,它返回一个字符串(在Context.Response.Write
检查此)像:
"{"startTime":12:00,"endTime":20:00}"
当我打电话经由选择的下拉列表提供getTimes
(int user
值),我得到一个错误:“‘串’不包含‘开始时间’的定义。”
我的代码调用getTimes
是:
int user = int.Parse(ddlUser.SelectedValue);
string timesInJSON = getTimes(user);
var results = JsonConvert.DeserializeObject<dynamic>(timesInJSON);
DateTime dtStart = Convert.ToDateTime(results.startTime);
DateTime dtEnd = Convert.ToDateTime(results.endTime);
我很困惑,我认为应该反序列化JSON和给我正确的结果呢?我错过了什么/做错了什么?
你错过了行情的开始时间值 –
这是'Timespan'而不是'DateTime' 。你为什么手动创建json?为什么你试图将'JineObject'变成'dynamic'而不是'flat model? –