草庐IT

指令序列

全部标签

c# - 将 WCF 4 中的默认 JSON 序列化程序替换为 JSON.NET

我想用JSON.NET替换默认的WCFJSON(适用于所有数据类型)序列化。我在网上搜索过,但找不到可行的解决方案。这是我的对象:[JsonObject]publicclassTestObject{[JsonProperty("JsonNetName")]publicstringName="John";[JsonProperty]publicDateTimeDate=DateTime.Now;}这是我的WCF函数:[OperationContract][WebGet(BodyStyle=WebMessageBodyStyle.Bare,ResponseFormat=WebMessage

c# - 序列化属性,但不要反序列化 Json.Net 中的属性

虽然我发现了很多方法来反序列化特定属性同时防止它们序列化,但我正在寻找相反的行为。我发现很多问题都在问相反的问题:Makingapropertydeserializebutnotserializewithjson.netCanIinstructJson.NETtodeserialize,butnotserialize,specificproperties?JSON.Net-UseJsonIgnoreAttributeonlyonserialization(Butnotwhendeserialzing)我怎样才能序列化一个特定的属性,同时防止它反序列化回POCO?有没有我可以用来装饰特定

c# - 为什么在值类型上隐式调用 toString 会导致框指令

这更像是一个“想知道为什么”而不是一个特定的问题,但请看下面的代码staticvoidMain(string[]args){intval=10;Console.WriteLine("valis{0}",val);//(1)Console.WriteLine("valis{0}",val.ToString());//(2)}情况(1)输出以下ILIL_0000:nopIL_0001:ldc.i4.s10IL_0003:stloc.0IL_0004:ldstr"valis{0}"IL_0009:ldloc.0IL_000a:box[mscorlib]System.Int32IL_000f:

c# - 不可打印字符的序列化

以下代码;varc=(char)1;varserializer=newXmlSerializer(typeof(string));varwriter=newStringWriter();serializer.Serialize(writer,c.ToString());varserialized=writer.ToString();vardc=serializer.Deserialize(newStringReader(serialized));在.NET4中抛出此异常。InvalidOperationException-ThereisanerrorinXMLdocument(2,12

c# - 序列化 XML 相同的标签两次

我有问题:我必须将类序列化为XML文件。但是两个属性必须重名:所需的xml:AAABBB我不需要将它反序列化回对象。代码:publicclassHeader1{[XmlElement("Tag1")]publicStringTag1{get;set;}}publicclassHeader2{[XmlElement("Tag2")]publicStringTag2{get;set;}}publicclassTest{[XmlElement("HeaderText")]publicHeader1Header1{get;set;}[XmlElement("HeaderText")]publi

C# - Web API - 将枚举序列化为带空格的字符串

我的问题很简单,但比其他有关将枚举类型序列化为字符串的问题更具体一些。考虑以下代码:usingNewtonsoft.Json;usingNewtonsoft.Json.Converters;publicenumMyEnum{TypeOne,TypeTwo,TypeThree}publicclassFoo{[JsonConverter(typeof(StringEnumConverter))]publicMyEnumTypes{get;set;}}当WebAPIController发送序列化的Foo对象时,它们可能看起来像这样:{"Type":"TypeTwo"}我的问题:是否可以将序列

c# - 将 LINQ 序列中的项目发送到返回 void 的方法

当我处理LINQ序列时,我常常想将每个项目发送到一个返回void的方法,避免foreach循环。但是,我还没有找到一种优雅的方法来做到这一点。今天,我写了以下代码:privateStreamWriter_sw;privatevoidstreamToFile(Listerrors){if(_sw==null){_sw=newStreamWriter(Path.Combine(Path.GetDirectoryName(_targetDatabasePath),"errors.txt"));}FuncwriteSelector=(e)=>{_sw.WriteLine(getTabDelim

c# - Json.Net 无法序列化为流,但可以很好地序列化为字符串

在内部,JsonConvert.SerializeObject(obj,Formatting.Indented)归结为JsonSerializerjsonSerializer=JsonSerializer.Create(null);StringWriterstringWriter=newStringWriter(newStringBuilder(256),(IFormatProvider)CultureInfo.InvariantCulture);using(JsonTextWriterjsonTextWriter=newJsonTextWriter((TextWriter)strin

c# - JSON.NET 序列化 JObject 而忽略空属性

我有一个JObject,用作调用RESTful网络服务的模板。这个JObject是通过解析器创建的,因为它被用作告诉用户端点模式是什么样子的模板,我必须想出一种方法来保留所有属性,这就是我默认的原因它们的值为null。例如,这是对象最初的样子:{"Foo":{"P1":null,"P2":null,"P3":null,"P4":{"P1":null,"P2":null,"P3":null,},"FooArray":[{"F1":null,"F2":null,"F3":null,}]},"Bar":null}然后用户可以根据需要填写各个字段,例如Foo.P2和Foo.P4.P1:{"Fo

c# - 更改属性名称以进行序列化

我的类有一个属性“Property”,我希望它在序列化时在JSON对象中显示为“Property”。有什么我可以使用的属性吗? 最佳答案 对于Json.NET和DataContractJsonSerializer使用DataMemberAttribute:[DataMember(Name="PropertyB")]TPropertyA{...}确保您的类也装饰有[DataContract]属性。如果您使用的是JavaScriptSerializer,则需要创建派生实现,如下所述:JavaScriptSerializer.Deseri