3
使用日期時間轉換器時,我遇到了解析下面的JSON的麻煩。我理解「 - 」和「at」會導致問題,但這是我在響應中的JSON,並且無法控制它。使用JSON.NET實現自定義日期時間轉換器
"[{\"Desc\":\"Unacceptable Signal\",\"Station\":\"Test\",\"When\":\"Tuesday - 5/18/10 at 3:34 PM\"},{\"Desc\":\"Low Battery\",\"Station\":\"Test Unit (21261)\",\"When\":\"Wednesday - 3/30/11 at 12:34 AM\"}]"
我的型號是:
public class CurrentAlarms
{
public string Desc { get; set; }
public string Station { get; set; }
public DateTime When { get; set; }
public CurrentAlarms() { }
public CurrentAlarms(string desc, string station, DateTime when)
{
Desc = desc;
Station = station;
When = when;
}
}
我試圖反序列化,如下所示,甚至通過刪除「在」的日期時間字符串,但我仍然得到「字符串不是正確的格式「來自JSON.NET的異常。我很難找出其他解決方法。任何幫助,將不勝感激!在ReadJson
json = json.Replace(" at ", " ");
var format = "dddd MM/dd/yy h:mm tt";
var dateTimeConverter = new IsoDateTimeConverter {DateTimeFormat = format};
var result = JsonConvert.DeserializeObject<ObservableCollection<CurrentAlarms>>(json, dateTimeConverter);
你還有一個' - '不是嗎? (「Wednesday - 3/30/11 12:34 AM」) –
同意@JonSkeet - 您的問題並不表示您嘗試刪除' - '字符,並且您的轉換器不顯示它。 – theMayer
啊,是的,我很抱歉。我試圖刪除' - '字符,但得到相同的結果。 – YnotDraw