我想了解如何使用 JSON 响应继续创建基于 REST 的 WCF 服务和实体数据模型。我已按照以下说明进行操作:
http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide
这是DeviceManagementService_Rest
IService1.cs 文件中的命名空间:
这里。deviceOS 是用于列出运行特定操作系统的不同设备的参数。
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json, UriTemplate = "json/{deviceOS}", BodyStyle = WebMessageBodyStyle.Bare)]
string JSONData(string deviceOS);
}
创建此类用于查询数据并转换为 JSON 格式:
public class Service1 : IService1
{
DeviceManEntities dme;
public string JSONData(string deviceOS)
{
dme = new DeviceManEntities();
var result = (from m in dme.DeviceInfoes
select new
{
Name = m.deviceName,
OS = m.deviceOS,
UID = m.deviceUID
}).ToList();
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
return serializer.Serialize(result);
}
}
问题是:我得到这种格式的响应:
"[{\"Name\":\"Galaxy S3\",\"OS\":\"Andriod\",\"UID\":\"101\"},
{\"Name\":\"iPhone 5-D1\",\"OS\":\"iOS\",\"UID\":\"123\"}]"
理想情况下,我希望它是这样的:
"[{"Name":"Galaxy S3","OS":"Android","UID":"101"}
{"Name":"iPhone 5-D1","OS":"iOS","UID":"123"}]"
- 我怎样才能删除那些“\”
- 序列化的实现是否正确?如果没有,有更好的方法吗?