我使用ember-data和RESTSerializer来输出模型数据。我最初希望它输出JSONAPI格式,因为使用c#在服务器端转换它非常简单,因为有JSONAPI。Net库使用类型信息将其转换为正确的对象。然而,当从ember发送数据时,它看起来不像是为嵌入对象正确实现的。现在我使用RESTSerializer, JSON是这样的
{
"labelProject":{
"id":"0f261196-c46e-442f-a6a7-cbc6aeae3336",
"name":"Project",
"labelGroups":[
{
"id":"71d99d43-fa65-4233-ae80-d5a136edb7d2",
"name":"Group1",
"labelType":"Type1"
}
]
}
}
我想知道是否有一种很好的方法可以使用NewtonSoft JSON在c#中获得DTO对象,而不必编写一堆不同的转换器(我的JSON字符串包含更多嵌套对象),就像我可以使用JSONAPINet一样。
使用JSONAPINet,我可以在DTO上放置一个[JsonApiResourceType("label-groups")]
属性,如果提供label-groups类型属性,它将知道如何转换它。
在使用JsonConvert.Deserialize之前,我必须删除对象的根键。删除Ember Data中POST/PUT操作的JSON根元素