【发布时间】:2018-10-08 22:58:10
【问题描述】:
我正在与一个 API 交互,该 API 的请求包含此 sn-p:
"occurrence":{
"type":"XYZ"
}
不是用成员 Type 创建一个 Occurence 对象,而是有一些可以序列化的 Newtonsoft JSON 魔法
public string Occurence = "XYZ"
改成上面的格式?
【问题讨论】:
-
该字段与 JSON 表示几乎没有共同之处。为什么field 应该成为一个对象?
type来自哪里?您需要将一种形式转换 到另一种形式。无论您使用 JSON.NET 对象还是匿名类型(例如new {occurrence=new {type="XYZ"}}),您仍然需要对其进行转换。 -
这个 API 有很多这样的单成员对象,所以我正在寻找一种解决方案来最小化类的数量。 JObject 是一种方法,但并不是最安全的选择
-
然后使用匿名类型。这两种模式没有任何共同之处。您必须以一种或另一种方式将一种转换为另一种。
-
也不喜欢匿名类型。看起来也许自定义 JsonConverter 是这样做的方法