1

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

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

我的回复看起来像这样:

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

ETC...

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

我的选择是:

  1. XML
  2. JSON

我已经检查了这两条路线,但还没有找到序列化这些数据的好方法。任何人都可以提供任何建议吗?

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

4

2 回答 2

2

你肯定可以使用 JSON。

使用JavaScriptSerializer该类来序列化数据和您的确定: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);

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

于 2012-04-16T22:04:33.603 回答
1

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

于 2012-04-16T22:09:32.833 回答