转义WCF服务调用中的字符

时间:2017-03-29 11:45:56

标签: c# web-services rest wcf

我正在为移动应用实施WCF Rest Service。

这是我在服务调用响应时获得的返回对象的属性之一:

"flagURL":"http:\/\/localhost\/testservice\/img\/CountryFlags\/Ireland.png"

当我调试代码时,没有转义字符'/',json看起来像这样

"flagURL":"http:\\localhost\testservice\img\CountryFlags\Ireland.png"

服务如何在上面的属性中添加转义字符?我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的JSON正在进行双序列化。 (JSON中的额外反斜杠是这种情况的症状。)为了使其工作,您需要确保输出仅被序列化一次。

有一个简单的解决方案。只需返回除stream以外的string

  public stream checkSymbolExistJson(string pSymbol)
  {
        Person p    = new Person();
        p.name      = pSymbol;
        p.age       = 15;

    string json = JsonConvert.SerializeObject(p);
    return new MemoryStream(Encoding.UTF8.GetBytes(json));
  }