草庐IT

$序列化

全部标签

c# - 如何在 C# 序列化期间为数组赋予属性?

我正在尝试生成C#来创建这样的XML片段。11:22:33:44:55:66:77:8811:22:33:44:55:66:77:8911:22:33:44:55:66:77:8A我正在考虑使用这样的东西:[XmlArray("device_list"),XmlArrayItem("item")]publicListItem[]device_list{get;set;}作为属性,使用此类声明:publicclassListItem{[XmlAttribute]publicstringtype{get;set;}[XmlText]publicstringValue{get;set;}}这

c# - 如何使用 Newtonsoft.Json 序列化 "Really"循环引用对象?

我在使用Newtonsoft.Json从我的ASP.NETWebAPIController正确序列化某些数据时遇到问题。这就是我认为正在发生的事情-如果我错了请纠正我。在某些情况下(特别是当数据中没有任何循环引用时)一切都像您期望的那样工作-填充对象列表被序列化并返回。如果我在模型中引入导致循环引用的数据(如下所述,甚至设置了PreserveReferencesHandling.Objects),则只有指向具有循环引用的第一个对象的列表中的元素才会序列化客户可以“使用”的一种方式。如果在将内容发送到序列化程序之前排序不同,则“导致的元素”可以是数据中的任何元素,但至少有一个将以客户端可

c# - Json.NET 如何覆盖通过属性定义自定义 JsonConverter 的类型的序列化?

我正在尝试使用Json.NET和自定义JsonConverter对象反序列化一个类。该类当前使用JsonConverterAttribute为默认序列化定义转换器。我需要通过传入自定义转换器来进行自定义反序列化。但是,反序列化似乎仍在使用默认转换器。如何让Json.NET更喜欢我的自定义转换器?下面是一些演示该问题的示例代码。我正在使用NewtonSoft.Json4.5.11:voidMain(){JsonConvert.DeserializeObject("{}");//throws"inthedefaultconverter"varsettings=newJsonSerializ

c# - Azure 服务总线序列化类型

随着我们转向面向服务的架构,我们已经开始研究使用WindowsAzure服务总线来替代我们当前的队列。大部分文档都很清楚;但是我很难确定BrokeredMessage在提供正文时使用哪种类型的序列化。例如,假设我实例化了一个BrokeredMessage对象,如下所示:ICommandsendMessageCommand=newSendMessageCommand{Title="Anewmessagetitle",Body="Anewmessagebody"};BrokeredMessagebrokeredMessage=newBrokeredMessage(sendMessageCo

c# - Dictionary<Key, Value> 上 .NET 二进制序列化的奇怪行为

我在.NET的二进制序列化中遇到了一个奇怪的行为,至少符合我的预期。在OnDeserialization回调之后,加载的Dictionary的所有项目都被添加到它们的父级。相比之下,List则采用另一种方式。这在现实世界的存储库代码中可能真的很烦人,例如,当您需要向字典项添加一些委托(delegate)时。请检查示例代码并观察断言。这是正常行为吗?[Serializable]publicclassData:IDeserializationCallback{publicListList{get;set;}publicDictionaryDictionary{get;set;}public

c# - 为什么 Web API 不反序列化这个但 JSON.Net 会反序列化?

WebAPI如何无法反序列化JSON.Net反序列化的对象?这是WebAPIController:publicvoidPut(EditorSubmissionMainViewajaxSubmission){//ajaxSubmission:EditorSubmissionMainViewwithallvalues('data'also==null)stringjson="{\"id\":\"row_1377\",\"data\":{\"ROTATION\":\"1\",\"EQUIPMENT\":[{\"id\":\"6\"},{\"id\":\"8\"}],\"NOTES\":\"\

c# - Json.NET 在返回 json 序列化字符串时添加反斜杠

我正在尝试使用Json.NET将列表序列化为json字符串,但返回的字符串中有反斜杠,这又导致json解析失败。varx=fromdinentities.Books.ToList()selectnew{ID=d.ID,BookName=d.BookName};returnJsonConvert.SerializeObject(x.ToList());以上代码返回"[{\"ID\":1,\"BookName\":\"MVCMusicStore-Tutorial-v3.0\"},{\"ID\":2,\"BookName\":\"Pro.ASP.NET.MVC.3.Framework\"},

c# - 将 JSON 反序列化为 IDictionary<string,object>

这个问题在这里已经有了答案:HowdoIuseJSON.NETtodeserializeintonested/recursiveDictionaryandList?(5个答案)关闭7年前。我正在尝试将一些旧作品转换为使用NewtonsoftJSON.NET。使用System.Web.Script.Serialization.JavaScriptSerializer.Deserialize的默认处理方法(例如,如果未指定目标类型)是返回一个Dictionary用于内部对象。这实际上是JSON的一个非常有用的基本类型,因为它也恰好是ExpandoObjects使用的基础类型。并且是动态类型

c# - json.net 不序列化派生类的属性

我正在使用JSON.NET6.0.1。当我使用SerializeObject方法序列化派生类的对象时,它仅序列化基类的属性。这是代码片段:stringv=JsonConvert.SerializeObject(service,Formatting.Indented,newJsonSerializerSettings(){TypeNameHandling=TypeNameHandling.All});基类:[DataContract]publicabstractpartialclassDataEntity:IDataEntity,INotifyPropertyChanging,INoti

c# - 在 C# 中反序列化 JSON 数组(或列表)

基本代码如下:publicstaticstringDeserializeNames(){jsonData="{\"name\":[{\"last\":\"Smith\"},{\"last\":\"Doe\"}]}";JavaScriptSerializerser=newJavaScriptSerializer();nameListmyNames=ser.Deserialize(jsonData);returnser.Serialize(myNames);}//Classdescriptionspublicclassname{publicstringlast{get;set;}}publ