C# Newtonsoft JSON:从';获取值时出错;NativeCalendarName';在';System.Globalization.DateTimeFormatInfo';

C# Newtonsoft JSON:从';获取值时出错;NativeCalendarName';在';System.Globalization.DateTimeFormatInfo';,c#,json,xamarin,deserialization,C#,Json,Xamarin,Deserialization,我试图在我的Xamarin应用程序中使用NewtonSoftJSON将dataset序列化为JSON,但遇到以下错误 从“NativeCalendarName”获取值时出错 关于“System.Globalization.DateTimeFormatInfo” 虽然我没有在数据集中使用任何datetime,但我面临着错误。请帮我解决同样的问题。谢谢 到目前为止,我已经做到了 string output = JsonConvert.SerializeObject(dsComp, Newtonsof

我试图在我的Xamarin应用程序中使用NewtonSoftJSON将dataset序列化为JSON,但遇到以下错误

从“NativeCalendarName”获取值时出错 关于“System.Globalization.DateTimeFormatInfo”

虽然我没有在数据集中使用任何datetime,但我面临着错误。请帮我解决同样的问题。谢谢 到目前为止,我已经做到了

string output = JsonConvert.SerializeObject(dsComp, Newtonsoft.Json.Formatting.None, 
    new Newtonsoft.Json.JsonSerializerSettings() 
    { 
        ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore   
    });

using(var streamWriter = new System.IO.StreamWriter(filename, true)) 
{
    streamWriter.WriteLine(output);
}

您必须告诉如何序列化日期时间格式。试试这个

string output = JsonConvert.SerializeObject(dsComp, Newtonsoft.Json.Formatting.None, 
    new JsonSerializerSettings() 
    { 
        ReferenceLoopHandling = ReferenceLoopHandling.Ignore, 
        DateFormatHandling = DateFormatHandling.IsoDateFormat
    }); 

它试图序列化DateTime、它的属性、所有属性的属性等等。快速解决方案是将属性转换为包含日期时间UTC值的字符串,并在数据集上添加一个方法(如果可能)以将其转换回日期时间。可能还需要添加json。但是@Will My dataset不包含任何日期时间或任何日期时间格式。是否有任何属性会跳过此日期格式检查?可能不会直接跳过,但有人会公开引用它。你刚刚得到了一个更好的答案,顺便说一句,你也会这么做。谢谢你的帮助谢谢@Musfiqur,但还是给了我同样的错误。代码在格式化附近抛出,它没有输入设置代码。请帮助您能否提供dsComp对象的类结构?dsComp是一个数据集,它包含列为“State”和“City”的表请尝试以下链接:var-dataset=new-dataset(“数据集”);var table=新数据表();var stateColumn=新数据列(“状态”);var cityColumn=新数据列(“城市”);table.Columns.Add(stateColumn);表.Columns.Add(cityColumn);dataSet.Tables.Add(表);对于(int i=0;i