c# - 提供 ToString() 的序列化类
问题描述
假设我有一些定义ToString()
:
class Person {
public override string ToString() { /* ... */ }
}
并假设某个模型中包含一个实例:
public Person Person { get; }
然后它是这样序列化的:
"person": {
"value": "Foo Bar"
}
但我所期望的是:
"person": "Foo Bar"
我可以以某种方式做到这一点,还是必须使用自定义转换器?
更新
不,这不是那个相关问题的欺骗。这显示了如何对类型进行双向转换。我想做单向转换,因为我的类型已经有一个ToString
方法——即仅序列化,而不是反序列化。
问题不在于如何编写类型转换器——而是在没有类型转换器的情况下,这种单向序列化是否可行。
解决方案
我最近在一个项目中遇到了这个问题,我的团队唯一想到的就是必须编写一个类型转换器。
推荐阅读
- c# - Unity C# UnassignedReferenceException
- javascript - JScript - 包含表中列的数组
- android-studio - Android Studio 和 gradle home 问题 - Ubuntu
- c# - 使用摄像头分析车库门状态
- javascript - 无论方法如何,Github Pages 和 React App 都无法正常工作
- java - Eclipse:JDK 9+ 不支持 clientBuilder.sslSocketFactory
- elasticsearch - Spring data elasticsearch RestHighLevelClient 选项参数
- spring - 防止 DispatcherServlet 在 Spring Boot Actuator 中记录端点
- python - 无法在 spaCy 中加载德国 BERT 模型
- javascript - 用户事件上的流保护程序取消/中止下载