0

我有一个看起来像这样的类:

public class Position 
{
    public int X { get; set; }
    public int Y { get; set; }
}

假设一个类似于这个的数据合约:

[DataContract]
public class MyModel
{
    [DataMember(name="position")]
    public Position Position { get; set; }
}

我想使用这样的值向客户端发送和从客户端发送这个位置

JSON:{ "position": "1,2" }

XML:<position>1,2</position>

我只是补充一点,我不想这样做:

JSON:{ "position": { "data": "1,2" } }

XML:<position><data>1,2</data></position>

如果可能的话,我宁愿不要将它注入整个序列化管道。我让它在 web 控制器上工作,但 API 控制器被证明有点棘手。做这个的最好方式是什么?

谢谢

更新

在这种情况下决定按原样使用位置字段(例如{ "position": { "X": 1, "Y": 2 } }),但如果我遇到解决方案,我将保持打开状态并更新它。

4

1 回答 1

0

您可以使用视图模型:

[DataContract]
public class PositionViewModel
{
    [DataMember(name = "position")]
    public string Position { get; set; }
}

如果需要,然后在控制器操作中映射您的Position域模型和视图模型。

于 2012-10-18T20:52:01.760 回答