【发布时间】:2018-10-01 05:42:53
【问题描述】:
我正在与一家拥有 Restful API 基础架构的供应商合作,该基础架构允许在某些实体上使用“自定义字段”。当您通过其界面在其中一个实体上创建自定义字段时,您为自定义实体命名。但是,在他们的 API 中,您尝试使用该自定义字段,它实际上是由一个 int 指定的(它表示该字段的唯一 ID)。例如,您在实体上创建的第一个自定义字段的 ID 为 1,这就是您从 API 访问或读取该字段的方式。
因此,在下面的 Json 响应示例中,您将看到用于注册的自定义字段在“注册字段”集合中返回。 4 是自定义字段的 ID,ABC123 是该自定义字段中填充的值。
"enrollment_fields":{
"4":"ABC123"
},
我不太确定如何在我的项目类中处理这个问题。显然我不能给对象成员一个数字作为名称。我将如何将这种类型的成员反序列化到我的对象中,以便我可以读取值 ABC123?
【问题讨论】:
-
你可以试试 Dynamic / Expando 对象。虽然没有尝试使用整数作为属性名称,但他们可能会处理它。
-
enrollment_fields我会用EnrollementField { int Id; string Value;}创建一个objList<EnrollementField> enrollment_fields。并将这部分 Json 反序列化为Dictionary<string,string>。用 foreach 循环它,我将初始化List<EnrollementField>。