C#web服务响应数组

C#web服务响应数组,c#,xml,arrays,web-services,serialization,C#,Xml,Arrays,Web Services,Serialization,我最近使用C#构建了一个web服务客户端。我选择C#是因为web服务组件功能强大且简单(比Gsoap或Axis IMO更容易使用) 我的C#应用程序在后台运行,应该返回我的应用程序的其他部分(包括web应用程序、PLC和数据库)可以存储和使用的数据 我的回答是这样的: [ [ string int [] ] string [] int ] 等等 关键是返回值并不简单。我的问题是,从应用程序的其他部分重新格式化和使用这些数据的最佳方式是什么 我的选择是:

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

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

我的回答是这样的:

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

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

我的选择是:

  • XML
  • JSON
  • 我已经检查了这两个路由,但还没有找到一个很好的方法来序列化这些数据。有人能提供一些建议吗


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

    你肯定可以使用JSON

    使用
    JavaScriptSerializer
    类序列化数据和您的OK:


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

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

    您的web服务客户端是否正在序列化数据以供应用程序的其余部分使用?你的应用程序的其余部分正在处理中吗?如果是这样,为什么要序列化和反序列化它?你能在一个对象模型中表示数据并把它/那些对象传回去吗?这是什么样的web服务?ASMX或WCF?@JMD我的应用程序的其余部分不是C#(PHP和C的混合),所以C#对象不会work@JohnSaunders Web服务是SOAP,是用Java编写的,我使用C#中的Web服务引用来使用它,我所要做的就是让它解析wsdl。这非常有效。我以前尝试过这种方法,但似乎无法使Services.Web.Extensions正常工作。我又试了一次,发现了这个帖子:谢谢你,伙计!
    var data = new { name = "someValue", id = 1 };
    
    var json = new System.Web.Script.Serialization.JavaScriptSerializer();
    
    return json.Serialize(data);