C# 从json中选择类型对象?
我对json查询中的正确解析对象有问题。我读了一些关于JObject的文章。现在我有两种型号,例如C# 从json中选择类型对象?,c#,json,rest,C#,Json,Rest,我对json查询中的正确解析对象有问题。我读了一些关于JObject的文章。现在我有两种型号,例如汽车和摩托车。查询结果为: “车辆”: [ { “Id”:1, “标题”:“测试”, “价格”:“4000”, “类型”:“汽车” }, { “Id”:1, “标题”:“测试”, “价格”:“4000”, “驾驶执照类别”“A”, “类型”:“摩托车” } ] 如何通过类型解析自定义模型您对JSON有多少控制权?如果您正确地使用web api生成JSON,那么它将更像: "Vehicle
汽车
和摩托车
。查询结果为:
“车辆”:
[
{
“Id”:1,
“标题”:“测试”,
“价格”:“4000”,
“类型”:“汽车”
},
{
“Id”:1,
“标题”:“测试”,
“价格”:“4000”,
“驾驶执照类别”“A”,
“类型”:“摩托车”
}
]
如何通过
类型解析自定义模型您对JSON有多少控制权?如果您正确地使用web api生成JSON,那么它将更像:
"Vehicles":
[
{
"Id": 1,
"title": "test",
"price": "4000",
"$type": "YourNamespace.Car, YourNamespace"
},
{
"Id": 1,
"title": "test",
"price": "4000",
"drivingLicenseCat" "A",
"$type": "YourNamespace.MotorBike, YourNamespace"
}
]
然后当你把它带进来时,它会自动反序列化
确保在序列化并作为JSON发送的模型中,将其标记为:
[JsonProperty(ItemTypeNameHandling = TypeNameHandling.All)]
这将在序列化对象时向对象添加类型名称。我还应该注意,这是用Newtonsoft作为Json库的。我不确定内置的Json。发布的Json只有一种类型:Vehicle
,其中(sub)type
是Vehicle
的一个简单属性,准备与数组中的每个项目匹配的模型,解析这些项目的列表。最后筛选所需类型的项目。我认为仅仅解析某些所需类型的项没有任何好处。首先解析所有项目并筛选所需的项目(按类型)。