草庐IT

指令序列

全部标签

c# - 如何禁用 Newtonsoft JSON 序列化程序中的对象引用创建?

我将我的ASP.NETMVC应用程序切换为使用NewtonsoftJsonSerializer来执行我们的JSON序列化,如下所示:varwriter=newJsonTextWriter(HttpContext.Response.Output){Formatting=Formatting};varserializer=JsonSerializer.Create();serializer.Serialize(writer,myData);这会生成一些具有$id和$ref属性的JSON,然后从JSON中删除重复的对象。我知道这是一个很棒的功能,但读取此JSON的客户端不支持解释这些引用并期

c# - 如何使用 DataContractJsonSerializer 将类类型而不是命名空间序列化为 Json 字符串

我正在尝试在WCF服务中使用DataContractJsonSerializer将类层次结构序列化为Json字符串。序列化派生类的默认行为是将以下键值对添加到对象:"__type":"ClassName:#Namespace"我的问题是命名空间很长,它们会使Json字符串膨胀。我想以某种方式干预序列化并改为输出:"__type":"ClassName"并在反序列化时再次干预以指向正确的命名空间(我在运行时知道)。有什么办法可以做这样的事情吗? 最佳答案 Thispage描述发出__type属性的情况。简而言之,在WCF中,如果您使用

c# - 删除不必要的命名空间(使用)指令是否有性能提升?

我的类中有多少using编译器指令重要吗?删除那些不必要的东西会提高性能吗?虽然我喜欢编写精简的代码,但有时代码段会被修改,并且没有机会返回并检查所有包含的命名空间是否真的有必要。或者,我不会返回并删除那些由VisualStudio自动插入的内容。即:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Mvc;谢谢! 最佳答案 不,没有性能优势。编译器不会为using语句生成IL(可执行代码)。IL仅

c# - 如何让 newtonsoft 将 yes 和 no 反序列化为 bool 值

注意:我已在此提要底部提供了解决方案。我有一个C#Win8应用程序,我正在反序列化一些如下所示的json:{'Unit':[{'name':'House123',isAvailable:'no'},{'name':'House456',isAvailable:'yes'}]}进入一个使用这个接口(interface)的类:publicinterfaceIUnit{stringName{get;}boolisAvailable{get;}}但是Newtonsoft抛出一个错误:Unexpectedcharacterencounteredwhileparsingvalue:n.Path'U

c# - 按属性排序列表,然后按另一个属性排序

我有一个包含两个数据点的示例类:publicenumSort{First,Second,Third,Fourth}publicclassMyClass{publicMyClass(Sortsort,stringname){this.Sort=sort;this.Name=name;}publicSortSort{get;set;}publicstringName{get;set;}}我希望通过它们的Sort属性将它们分类,然后按字母顺序排列这些组。Listlist=newList(){newMyClass(MyClass.Sort.Third,"B"),newMyClass(MyCla

c# - 如何序列化到现有文件?

假设我有一个包含BinaryFomatter序列化对象的文件。现在我希望能够序列化另一个对象并将其附加到现有文件上。我该怎么做? 最佳答案 这确实是可能的。下面的代码附加对象。using(varfileStream=newFileStream("C:\file.dat",FileMode.Append)){varbFormatter=newBinaryFormatter();bFormatter.Serialize(fileStream,objectToSerialize);}以下代码反序列化对象。varlist=newList()

c# - 序列化 .NET 字典

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:SerializeClasscontainingDictionarymember我可以序列化字典吗?

c# - 我可以序列化数据表或数据集以通过 C# 中的 Web 服务传输吗?

我正在使用网络服务从表中查询数据。然后我必须将它发送给需要它作为DataTable的用户。我可以序列化数据吗?或者我应该将它作为数据集发送。我是Web服务的新手,所以我不确定最好的方法。 最佳答案 您可以通过DataSet.GetXml()从数据集中将数据作为xml字符串发送然后用户可以使用DataSet.ReadXml()反序列化它并通过DataSet.Tables从数据集中获取数据表祝你好运 关于c#-我可以序列化数据表或数据集以通过C#中的Web服务传输吗?,我们在StackOve

c# - 使用 WebClient 进行 JSON 序列化?

我知道您可以使用WebClient.DownloadString()从HttpWebResponse反序列化一个JSON对象,但是反过来呢?我查看了MSDN页面,我不知道您是否可以序列化为JSON对象,有人知道吗? 最佳答案 我认为您可能只需要在使用WebClient实例之前将对象序列化为JSON。希望这有帮助varurl="...";varjson=JsonHelper.ToJson(myObject);varresponse=PostJson(url,json);这是从WebClient类发送JSON数据的示例:publicst

c# - 实体到 json 错误 - 序列化类型对象时检测到循环引用

尝试将实体对象转换为JSON字符串时出现以下错误。我将C#MVC4与代码优先数据库设计一起使用。它接缝是因为FK和表之间的关系造成了这个问题。解决方法是什么?在序列化System.Data.Entity.DynamicProxies.User类型的对象时检测到循环引用我的代码是Userma=db.user.First(x=>x.u_id==id);returnJson(ma,JsonRequestBehavior.AllowGet); 最佳答案 这是因为它正在尝试加载子对象,并且可能会创建一些永无止境的循环(a=>b,b=>c,c=