【发布时间】:2012-03-01 12:23:03
【问题描述】:
我打算用 C# 编写一个 Web 服务,供可能需要 JSON 或 XML 的客户端使用。
我知道 .Net 可以很好地做到这一点,只要你在你的 WebMethod 中返回像这个人对象这样简单的东西
class person
{
string name
string age
}
此 Web 服务的目的是充当数据库和客户端之间的一层,我将通过存储过程获取数据,该存储过程将只包含一个表。
我尝试过简单地返回一个数据表,但这与 JSON 不兼容(如果您使用 application/json,则会出现循环引用问题)。在这种情况下,最好的解决方案是创建可以将数据映射到的可序列化类吗?我问的原因是这会很麻烦。
或者,我可以为每个服务创建一个单独的 Web 服务,并编写一些代码来有效地将数据表列名称映射到字段以适应 JSON 并返回字符串。
【问题讨论】:
-
如果您可以控制通信双方,WCF 数据服务可能会有所帮助。我想我记得看到它同时支持 JSON 和 XML。但是,您将失去对消息格式的控制。
标签: c# .net json web-services soap