当前位置: 首页 > 面试题库 >

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

郎思远
2023-03-14
问题内容

我的课有一个属性’PropertyA’,我希望它在序列化时在JSON对象中显示为’PropertyB’。我可以使用某种属性吗?


问题答案:

对于Json.NETDataContractJsonSerializer使用DataMemberAttribute

[DataMember(Name="PropertyB")]
T PropertyA { ... }

确保您的课程也用[DataContract]属性修饰。

如果您使用的是JavaScriptSerializer,则需要创建派生的实现



 类似资料:
  • 问题内容: 我使用FlexJson进行序列化,唯一的问题是它会生成小写的字段名,而我需要它们以大写开头: 当序列化时,字段被序列化为,而我需要它被序列化。 如何指定输出字段名称?我可以使用一些属性来指定所需的序列化名称吗? 问题答案: 您可以使用“ 自定义变压器” 来实现。根据Flexjson页面转换器是: 负责确定如何将传入的对象转换为JSON,对JSONContext对象进行适当的调用以输出J

  • 问题内容: 我已经寻找了一段时间,想要一种对Javascript对象进行排序的方法,如下所示: 并按名称的字母顺序排序以获得: 我找不到任何可以做到这一点的代码。谁能给我些帮助吗? 问题答案: 根据定义,键在对象中的顺序是未定义的 ,因此您可能无法以适应未来发展的方式进行操作。相反,您应该考虑在实际向用户显示对象时对这些键进行排序。无论它在内部使用什么排序顺序都没有关系。 按照惯例,大多数浏览器将

  • 问题内容: 如何设置Newtonsoft.Json以使用旧成员名称反序列化对象,但使用当前成员名称序列化该对象? 编辑:一项要求是将过时的成员从要序列化/反序列化的类中删除。 这是一个需要序列化和反序列化的示例对象。我给了一个属性一个属性,该属性包含过去可能已序列化过的名称的列表。 我想始终使用名称“ a”对json进行序列化,但能够从任何旧名称(包括“ alpha”和“ omega”)以及当前名

  • 简单验证器 向属性添加“验证”例程的快速方法是使用 validates() 装饰者。属性验证器可以引发异常,停止改变属性值的过程,或者将给定值更改为其他值。与所有属性扩展一样,验证程序只由普通的userland代码调用;当ORM填充对象时不会发出验证程序:: from sqlalchemy.orm import validates class EmailAddress(Base): __

  • 在进行名称更改、排除等压缩时需要将java对象序列化为JSON。对象使用来自jar的类,其源代码不可用。 查看了许多库(Jackson、Gson),但没有找到一个解决这个特定问题的库。它们中的大多数是基于注释的,由于我没有源代码,我无法使用它们。 解决这个问题的一种方法是,使用反射并递归地遍历对象,直到找到应该替换的属性名或序列化JSON中排除的对象。 需要解决这个问题。如果已经实现并测试了它,那

  • 问题内容: 我正在从API检索JSON。我正在使用newtonsoft(这是json.net吗?)将其反序列化为对象列表。有用。 不幸的是,我还需要将此作为JSON传递给其他人(只有我有权访问它们,他们才能直接调用API)。不幸的是,我说这是因为我需要输出与接收到的JSON不同的JSON(属性名称必须不同)。 例如,我有一个名为Person的类,具有一个名为Name的属性。我想获取“人物”,因此我