jjzjj

deserialization

全部标签

c# - 在 Web.API Controller 中自动反序列化为类似字符串的类

我有一个Web.API端点,它将这样的对象作为参数:publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicintAge{get;set;}publicUserNameUserName{get;set;}}例如:[Route("api/person")][AcceptVerbs("POST")]publicvoidUpdatePerson(Personperson){//etc.}(这只是一个例子-我们实际上并没有通过我们的Web.API端点接受用户名)我们的UserNam

c# - Json.NET - CustomCreationConverter 中单个属性的默认反序列化行为

在以下场景中,当CrazyItemConverter遇到我要反序列化到的类型中存在的JSON属性时,如何让它照常运行?我有一些像这样的JSON:{"Item":{"Name":"Apple","Id":null,"Size":5,"Quality":2}}JSON被反序列化为一个看起来很像这样的类:[JsonConverter(typeof(CrazyItemConverter))]publicclassItem{[JsonConverter(typeof(CrazyStringConverter))]publicstringName{get;set;}publicGuid?Id{ge

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

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

c# - 用于在 SQL Server 中查询 JSON 字符串的 Entity Framework

我正在寻找任何在使用EntityFramework查询JSON字符串方面做过任何事情的人。我应该简要介绍一下我在这里要做的事情。我正在使用的数据库用于我正在使用的工作流引擎。它处理所有工作流数据,还允许您将一些自定义数据存储为JSON字符串。我使用的工作流引擎在每个请求的基础上处理JSON字符串的序列化和反序列化,但如果我想根据JSON字符串中的值进行查询和过滤,我将不得不拉将整个表放入内存并反序列化所有条目,然后进行过滤。出于显而易见的原因,这是NotAcceptable。这样做的原因是,我们想要一个单一的工作流数据库,它可以用于所有使用该工作流引擎的应用程序,并且我们正在努力避免必

c# - 将 XML 元素存在反序列化为 C# 中的 bool

我正在尝试将Web服务中的一些XML反序列化为C#POCO。我已经为我需要的大多数属性工作了,但是,我需要根据元素是否存在来设置bool属性,但似乎看不到如何做到这一点?示例XML片段:1C#类示例:[Serializable,XmlRoot("someThing")]publicclassSomething{[XmlAttribute("test")]publicboolTest{get;set;}[XmlElement("someThingElse")]publicintElse{get;set;}//////trueiftargetelementispresent,///othe

c# - 反序列化使得字段是一个空列表而不是 null

如果我有这样的类(class):[DataContract(Name="",Namespace="")]publicclassMyDataObject{[DataMember(Name="NeverNull")]publicIListMyInts{get;set;}}当反序列化以下字符串时,有没有一种方法可以使MyInts字段成为非空空列表?stringserialized=@"{""NeverNull"":null}";MyDataObjectmyDataObject=JsonConvert.DeserializeObject(serialized);我正在使用Newtonsoft.

c# - ProtoBuf-Net 和 Compact Framework 出现 "Invalid field in source data: 0"错误

有人知道使用ProtoBuf-Net在紧凑框架和完整.Net框架之间进行序列化/反序列化时有任何问题吗?我有一个名为LogData的类,我正在compactframework3.5下序列化,传输到服务器(运行.Netframework4.0),然后反序列化。有时它有效,有时它会抛出上述错误,我还没有将其缩小到任何特定原因。我用不同的值做了很多测试,但似乎无法找到错误发生时的任何韵律或原因。我在下面包括我的类(class)(减去各种构造函数)。我已多次查看两侧的字节缓冲区,但尚未发现通过线路从一侧发送到另一侧的数据存在差异。[ProtoContract]publicclassLogDat

c# - 使用 XmlSerializer.Deserialize 进行反序列化时,何时调用类构造函数?

我的应用程序使用XmlSerializer保存了一个类,然后在需要时通过再次反序列化创建一个实例。我想在我的构造函数逻辑中使用我的类的一些属性成员(在反序列化期间分配)。假设首先分配属性是可以的,一旦分配了所有属性就会调用构造函数吗?继续讨论这个话题,是否有关于反序列化期间发生的事件顺序的文档? 最佳答案 不,假设属性将在构造函数运行时设置是不正确的。反之亦然。构造函数是创建对象实例时运行的第一段代码。在构造函数开始执行之前,不可能设置属性。XML反序列化过程大致如下所示调用无参构造函数将属性设置为其反序列化值解决此问题的一种方法是

c# - 使用 JSON.NET 反序列化 DateTime 时如何保留时区?

这个问题在这里已经有了答案:ParseDateTimewithtimezoneofformPST/CEST/UTC/etc(6个答案)关闭8年前。我正在使用JSON.NET在C#中解析一些JSON。JSON中的字段之一是日期/时间,如下所示:{"theTime":"2014-11-20T07:15:11-0500",//...alotmorefields...}请注意时间部分是07:15:11(GMT-5小时的TZ)我从这样的流中解析JSON:using(varstreamReader=newStreamReader(rcvdStream)){JsonTextReaderreader=

c# - 如何序列化/反序列化从另一个程序集加载的对象?

我想序列化/反序列化一个对象,该对象已被另一个从程序集中加载的对象实例化:Interfaces.cs(来自引用的程序集Interfaces.dll)publicinterfaceISomeInterface{ISettingsSettings{get;set;}}publicinterfaceISettings:ISerializable{DateTimeStartDate{get;}}SomeClass.cs(来自引用的程序集SomeClass.dll)publicclassSomeClass:ISomeInterface{privateMySettingssettings=newS