WCF JSON:发送/解析混合对象类型的数组

时间:2011-10-24 07:10:16

标签: c# wcf

我需要通过WCF服务从服务器发送一个相关但不同类型的对象数组作为JSON。尝试返回object []数组时,WCF服务失败。我还想了一步,我怎么会在客户端解析它?

我想出了一个使用JsonWrapper类的解决方案。而不是发送object []我发送JsonWrapper []。返回的JSON看起来像这样:

[
    {
        "Json":"{\"Id\":\"abc\"}",
        "Type":"DemoServer.Foo"
    },
    {
        "Json":"{\"Id\":\"def\",\"Count\":3}",
        "Type":"DemoServer.Bar"
    }
]

正如您所看到的,我正在对JSON进行双重序列化,这意味着我必须对返回的数组进行反序列化,然后逐个反序列化每个项目。我有点喜欢这种方法,因为对象不必在服务器和客户端上都是二进制兼容的。不知何故,JSON的双重序列化感觉不对。

有更好的方法吗?我在服务器上使用WCF,在客户端上使用Json.net。我知道“__type”参数,但我不确定这是解决我问题的方法。

0 个答案:

没有答案
相关问题