草庐IT

序列号

全部标签

c# - 每种类型的自定义 Json.NET 序列化程序设置

我正在使用ApiController,它使用全局HttpConfiguration类来指定JsonFormatter设置。我可以很容易地按如下方式全局设置序列化设置:config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling=PreserveReferencesHandling.Objects;问题是并非所有设置都适用于我项目中的所有类型。我想为执行多态序列化的特定类型指定自定义TypeNameHandling和Binder选项。如何在每个类型或至少在每个ApiController的基础上指

c# - Newtonsoft.Json.JsonSerializationException(从“System.Data.SqlTypes.SqlDouble”上的 'Value' 获取值时出错)序列化 SqlGeography

我尝试在数据库SQLServer2012中使用Newtonsoft.Json版本“Newtonsoft.Json.10.0.3”将DataTable对象序列化为Json。该表有一个类型为“geography”的列,其中包含类型为SqlGeography的实例.用于生成json的代码:publicstringSerializeToJson(){varconnstring1="DataSource=server1;InitialCatalog=database1;user=xxx;password=yyy";varsql="SELECT*FROMtable_1";//table_1hasa

c# - 如何将 JSON 反序列化为正确类型的对象,而无需事先定义类型?

我搜索了类似的问题,但找不到与我要查找的内容完全匹配的内容。C#新手,请多多包涵。我有一些正在反序列化的json文件。我希望文件反序列化为正确类型的对象,而不必事先定义类型。这是我的代码:publicclassloadJson{//pathofthefilelocationpublicvoidreadJson(stringpath){//arrayoffilesatthepathlocation.rightnowjustreadingonefileFileInfo[]files=newDirectoryInfo(path).GetFiles("seleniumExample.json"

c# - 如何在没有第三方库的情况下序列化对象+压缩然后解压+反序列化?

我在内存中有一个大对象,我想将其作为blob保存到数据库中。我想在保存之前压缩它,因为数据库服务器通常不在本地。这是我目前拥有的:using(varmemoryStream=newMemoryStream()){using(vargZipStream=newGZipStream(memoryStream,CompressionMode.Compress)){BinaryFormatterbinaryFormatter=newBinaryFormatter();binaryFormatter.Serialize(gZipStream,obj);returnmemoryStream.ToA

c# - JSON 反序列化为构造的 protected setter 数组

我使用NewtonsoftJSON序列化/反序列化我的对象。其中之一包含一个带有protectedsetter的数组,因为构造函数会自行构建数组,并且只有成员会被操作。这可以毫无问题地序列化,但是当涉及到反序列化时,它会被忽略,因为它不是公共(public)的。我尝试了一个自定义转换器,它也没有被调用,因为它不是公开的。这是一个最小化的例子:publicstaticclassTestCoordsDeserialization{privateclassCoords{publicDoubleX{get;set;}publicDoubleY{get;set;}publicDoubleZ{ge

c# - 使用 ServiceStack.Text 将 json 字符串反序列化为对象

我有一个JSON字符串,如下所示:"{\"Id\":\"fb1d17c7298c448cb7b91ab7041e9ff6\",\"Name\":\"John\",\"DateOfBirth\":\"\\/Date(317433600000-0000)\\/\"}"我正在尝试将其反序列化为对象(我正在实现一个缓存接口(interface))我遇到的麻烦是当我使用JsonSerializer.DeserializeFromString(jsonString);它回来了"{Id:6ed7a388b1ac4b528f565f4edf09ba2a,Name:John,DateOfBirth:/D

c# - 具有多态子对象的类型的 Json.Net 序列化

我们希望能够从/向C#类序列化/反序列化json,主类具有多态子对象的实例。使用Json.Net的TypeNameHandling.Auto设置很容易做到这一点。但是,我们希望在没有“$type”字段的情况下这样做。第一个想法是能够将“$type”重命名为我们选择的值,并使该类型的值成为一个可以正确映射子类型的枚举。我还没有将其视为一种选择,但很高兴听到它是否可行。第二个想法是沿着以下几行……下面是类的第一次传递,顶级类有一个指示符(SubTypeType),指示子对象(SubTypeData)中包含什么类型的数据。我深入研究了Json.Net文档并尝试了一些方法,但没有成功。我们目前

c# - 如何序列化异步/等待?

假设我有这个简单的片段:asyncvoidbutton_Click(objectsender,RoutedEventArgse){awaitTask.Factory.StartNew(()=>{Console.WriteLine("start");Thread.Sleep(5000);Console.WriteLine("end");});}显然,每次我按下该按钮时,都会启动一个新任务,即使之前的任务仍在运行。我如何将任何新任务推迟到所有以前的任务完成之前?更多细节:在上面的示例中,每个新任务都与之前的任务相同。然而,在原始上下文中,任务的顺序很重要:参数可能会改变(我可以使用Date

c# - 序列化对象时省略 XML 处理指令

我在C#VS2003/.Net1.1应用程序中序列化一个对象。但是,我需要在没有处理指令的情况下对其进行序列化。XmlSerializer类输出如下内容:DataMoreData有没有办法得到类似下面的东西,而不用处理结果文本来删除标签?DataMoreData对于那些好奇的人,我的代码看起来像这样......XmlSerializerserializer=newXmlSerializer(typeof(MyObject));StringBuilderbuilder=newStringBuilder();using(TextWriterstringWriter=newStringWri

C# 序列化字典 <ulong,ulong> 到 JSON

我正在尝试将字典序列化为JSON,并出现以下异常:newJavaScriptSerializer().Serialize(mydict)`Type'System.Collections.Generic.Dictionary`2[[System.UInt64,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Nullable`1[[System.UInt64,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77