-1

我有带有 json 返回数据的 asp.net webservice,当我调用它时,它以 json 格式返回数据,但将其嵌入到 xml 中。

我应该在服务器端做什么来确保我的 web 服务只返回 json?

我的 .asmx 服务如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
using System.Text;
using System.Collections;
using System.IO;
using System.Xml;

[WebMethod(Description = "DemoMethod to get Total.")]
public string GetTotal(string a, string b, string c)
{
    List<Hashtable> objMyclass = new List<Hashtable>();
    JSonOutPutProperties jsonProperty = new JSonOutPutProperties();
    // 
    int total = Convert.ToInt32(a) + Convert.ToInt32(b) + Convert.ToInt32(c);
    jsonProperty.Properties.Add("Total", total);
    objMyclass.Add(jsonProperty.Properties);
    //
    JsonOutput objjson = new JsonOutput();
    objjson.objectcount = objMyclass.Count;
    objjson.objectname = "Total";
    objjson.objectvalues = objMyclass;
    //
    JavaScriptSerializer js = new JavaScriptSerializer();
    string strJSON = js.Serialize(objjson);
    return strJSON;
}
4

1 回答 1

0

如果您在方法中添加以下行,则问题可能会得到解决:

[WebMethod(Description = "DemoMethod to get Total.")]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public string GetTotal(string a, string b, string c)
{
    ...

而且您可能必须确保您使用的是post 而不是 get。. Scott Guthrie 有另一个关于 json 的好帖子

请查看以下问题how-to-let-an-asmx-file-output-json或该帖子中的其他链接。我曾经遇到过类似的问题

于 2012-10-27T11:19:34.893 回答