通过WCF服务在JSON输出中的URL格式不正确

Cra*_*rge 2 formatting wcf json

我有一个WCF服务合同,定义如下:

[OperationContract]
    [WebGet(
        UriTemplate =
            "HubContent/{language}?apptype={appType}"
        ,
        ResponseFormat = WebMessageFormat.Json)]
    HubResults GetHubContent(string language, string appType);
Run Code Online (Sandbox Code Playgroud)

在服务中实现此契约时,我返回一个在JSON中解析出来的对象列表.但是,只要对象的某个属性是URL或包含正斜杠的任何字符串,服务器在浏览器中返回的JSON就会转义正斜杠.所以这个网址: - http://www.example.com/test/site将会是这样的

http\/\/www.example.com\/test\/site.
Run Code Online (Sandbox Code Playgroud)

是否有一些我需要在与格式相关的合同中指定以纠正此问题?

Eug*_*sky 5

转义正斜杠是完全有效的JSON(参见http://json.org/,"字符串"构造).例如,如果你通过

{"myUrl":"http\/\/www.example.com\/test\/site"}
Run Code Online (Sandbox Code Playgroud)

对于任何JSON解析器(例如JavaScript"eval"函数),myUrl的值将为" http://www.example.com/test/site "(它将自动取消斜杠).

还是我误解了你的问题?在这种情况下,您是否可以发布您认为已损坏的JSON示例?