webservice仍然返回xml而不是json

时间:2012-11-13 06:58:00

标签: .net json web-services

在我Consuming web service with RESTKIT的主要问题中,我已经学到了一些东西,并且在学习如何使用RestKit方面遇到了更多障碍。

现在的一个障碍是让我的asmx文件以JSON格式返回数据。 (遵循http://williamsportwebdeveloper.com/cgi/wp/?p=494)的一些方法

[WebMethod]
    [ScriptMethod( ResponseFormat = ResponseFormat.Json)]
    public string testText()
    {
        string name = "Herro World";
       // return name;
        JavaScriptSerializer js = new JavaScriptSerializer();
        string strJSON = js.Serialize(name);
        return strJSON;

    }

但是,我在浏览器中调用时的返回仍为<string xmlns="http://tempuri.org/">"Herro World"</string>

我目前正在使用.net 4.0。我尝试阅读差异文章和SO线程,并试图调整他们的设置,但无济于事。

2 个答案:

答案 0 :(得分:0)

最可能的原因是:您在http服务器中运行了错误的旧版本代码。尝试将name更改为之前未使用的不同字符串值...这应该告诉您所部署的代码是否已正确更新。

答案 1 :(得分:0)

仔细查看http://williamsportwebdeveloper.com/cgi/wp/?p=494中给出的示例并阅读一些信息和文章后,我们发现我们必须解析对象。意义字符串无法解析。通过添加一个对象来存储字符串来解决这个问题。

[WebMethod]
[ScriptMethod( ResponseFormat = ResponseFormat.Json)]
public string testText()
{
    string name = "Testing for Json!";
    List<string> arrayList = new List<string>();
    arrayList.Add(name); 
    JavaScriptSerializer js = new JavaScriptSerializer();
    string strJSON = js.Serialize(arrayList);
    return strJSON;   
}

这将返回<string xmlns="http://tempuri.org/">["Testing for Json!"]</string>

希望它能帮到像我这样的新人,他们正试图改变回归格式。