【发布时间】:2016-11-25 15:12:51
【问题描述】:
对于这个(也许)微不足道的问题,我很抱歉,但我正在尝试使用一个 Web 服务,其中实体和我的数据模型类的名称不同。
我想保留我的模型 .Net 类名称并使用 Json 属性名称来映射序列化器/反序列化器和相应的 Web 服务实体。 例如:
网络服务实体:
“人”
我的模型课:
“员工”
我已经做了什么:
[JsonObject(Title="People")]
public class Employee
{
[JsonProperty("DifferentPropertyName")]
string propertyName1 { get; set; }
}
但是json序列化器/反序列化器继续使用.Net类名,我需要设置jsonObject Title。
有办法实现吗?
编辑
我正在开发 Xamarin Forms 应用,使用 Simple.OData.Client 来使用 OData 服务
谢谢
【问题讨论】:
-
也许这会有所帮助:
[JsonProperty(Title="People")] public string propertyName1{get; set;} -
请显示做错事的序列化/反序列化代码。
-
谢谢...问题不在于属性,而在于类名。当我使用 simple.odata.client nuget 包时,我试图将名为“People”的资源实体反序列化为名为“Employee”的 .net 类(模型)。此时,simple.odata.client 会查找名为“Employee”的服务资源(实体),但找不到。
-
您是否尝试过先序列化为 JSON 字符串,然后将该字符串反序列化到您的 Employee 类中?可能不利于性能,但这是一种解决方法。
标签: c# json serialization xamarin.forms simple.odata.client