C#Web服务响应数组

时间:2012-04-16 21:56:34

标签: c# xml arrays web-services serialization

我最近使用C#构建了一个Web服务客户端。我之所以选择C#,是因为Web服务组件功能强大且简单易用(比Gsoap或Axis IMO更容易使用)。

我的C#应用​​程序在后台运行,应该返回我的应用程序的其他部分(包括Web应用程序,PLC和数据库)可以存储和使用的数据。

我的回答看起来像这样:

[
 [
     string
     int
     []
 ]
 string
 []
 int
]

等...

重点是返回值并不简单。我的问题是从我的应用程序的其他部分重新格式化和使用这些数据的最佳方法是什么?

我的选择是:

  1. XML
  2. JS​​ON
  3. 我检查了两条路线,但没有找到一种很好的方法来序列化这些数据。任何人都可以提供任何建议吗?

    最糟糕的情况我可能需要创建一个使用StringBuilder构建XML的常用例程,但我希望有一些我还不知道的东西(我是C#的新手),这将使我的生活变得轻松。

2 个答案:

答案 0 :(得分:2)

你肯定可以使用JSON。

使用JavaScriptSerializer类序列化数据,然后使用OK:http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

var data = new { name = "someValue", id = 1 };

var json = new System.Web.Script.Serialization.JavaScriptSerializer();

return json.Serialize(data);

我没有测试过这段代码(我现在不在我的开发机器中),但我确信它可以根据您的需求进行一些调整。

答案 1 :(得分:1)

为什么不为返回值创建DTO类并使用JSON或XML序列化?这很方便。