当前位置: 首页 > 编程语言 > C#

WebApi-反序列化和序列化备用属性名称

时间:2023-04-10 18:42:18 C#

WebApi-反序列化和序列化备用属性名称序列化和JSON+XML。到目前为止,我只找到了部分解决方案。我想将属性名称公开为带下划线的小写字母,并且(例如)为了具有不同的内部名称:external:internal:为了测试,这里有一个POST控制器操作,它只转发它接收到的内容://POSTapi/valuespublicTestSerializationPost([FromBody]TestSerializationvalue){返回值;}还有一个测试实体:publicclassTestSerialization{[DataMember(Name="field_one")]//似乎没有改变什么publicstringItemOne{get;放;}[JsonProperty(PropertyName="field_two")]//仅适用于JSON模式的序列化publicstringItemTwo{get;放;到目前为止我发现了什么:对于测试数据,我提交了4个属性来查看反序列化的值,以及反序列化时的属性名称我该怎么做?你的一些发现/结论是不正确的......这是你可以尝试的:这应该与webapi的默认Xml和Json格式化程序以及序列化和反序列化一起工作。[DataContract]publicclassTestSerialization{[DataMember(Name="field_one")]publicstringItemOne{get;放;}[DataMember(Name="field_two")]publicstringItemTwo{get;放;以下仅适用于Json格式化程序以及序列化和反序列化。publicclassTestSerialization{[JsonProperty(PropertyName="field_one")]publicstringItemOne{get;放;}[JsonProperty(PropertyName="field_two")]publicstringItemTwo{get;放;您可以将JObject传递给您的操作以强制Asp.Net使用JSON反序列化程序,尽管这样做有点烦人。然后您可以将它用作JObject或调用.ToObject();然后是JsonProperty属性。以上就是C#学习教程的全部内容:WebApi——交替属性名的反序列化和序列化。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——//POSTapi/valuespublicIHttpActionResultPost(JObjectcontent){vartest=content.ToObject();//现在您的对象的属性已正确填充。返回确定();}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: