代码之家  ›  专栏  ›  技术社区  ›  Zote

WCF+Json=错误的序列化

  •  3
  • Zote  · 技术社区  · 15 年前

    为什么使用WCF 3.5方法

    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class Json
    {
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
        public string Upper(string text)
        {
            return text.ToUpper();
        }
    }
    

    {"d":"TEXT"}

    {"TEXT"}

    我用jQuery打电话。

        $("#upper").click(function() {
            $.ajax({
                type: "GET",
                url: "/Json.svc/Upper?text="+$("#input1").val(),
                success: function(data) {
                    $("#input1").val(data.d);
                }
            });
        });
    
    3 回复  |  直到 15 年前
        1
  •  8
  •   Brandon Montgomery    14 年前

    这是一个安全特性,已添加到.NET 3.5中的JSON序列化中。它是一个容器对象,所以与其说, results[0] ,你会说 results.d[0] this article 了解更多信息。

        2
  •  1
  •   JeremyWeir    13 年前

    我假设你正在使用 <enableWebScript/> 在您的行为配置中,将其替换为 <webHttp defaultOutgoingResponseFormat="Json"/>

    然而,我只在4.0中测试过这个

        3
  •  0
  •   tomasr    15 年前

    BodyStyle 属性,以便不包装响应?