我有一个WCF服务。网址为:http://iphone.clickcelltest.com/EduLink.svc/GetLevel
方法具有以下属性:
[WebGet(ResponseFormat=WebMessageFormat.Json)]
我从数据库中获取数据,然后在类的集合/列表中获取数据。 我使用Newtonsoft.Json DLL将集合转换为json字符串。它做得很好,但我需要将它发送到iPhone。
但是,我得到了不必要的报价转义。我理解它发生的原因。
但是,有没有办法避免它
那么,我该如何改变当前的结果:
"{\"Object\":[{\"LevelID\":4,\"LevelName\":\"Level A\"}]}"
要
{"Object":[{"LevelID":4,"LevelName":"Level A"}]}
如果需要更清晰,请告诉我。
非常感谢。
答案 0 :(得分:3)
这看起来像returning a manually JSON-serialized string的结果,然后WCF再次序列化。而不是返回您使用Json.NET构建的字符串,而是使您的服务的返回值与您返回的数据类型相匹配,并直接返回该数据。
如果您出于某种原因特别需要使用Json.NET,那么使用HttpHandler而不是WCF将允许您在没有WCF干扰的情况下以较低级别进行响应。
答案 1 :(得分:0)
在stringByReplacingOccurencesOfString
类
NSString
方法
NSString * jsonString = @"{\"Object\":[{\"LevelID\":4,\"LevelName\":\"Level A\"}]}";
NSString * filteredString = [jsonString stringByReplacingOccurrencesOfString:@"\\" withString:@""];
NSLog (@"%@",filteredString);