我需要一个Hello World
例子...
[WebService(Namespace = "xxxxx")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService()]
public class Something : System.Web.Services.WebService
{
public Something() { }
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string HelloWorld()
{
return "{Message:'hello world'}";
}
}
因为它会产生错误
{"Message":"Invalid JSON primitive: value.","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)\r\n at System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)\r\n at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"}
出了什么问题?
编辑:如果我需要返回{Message:'',Type:1}
怎么办? ?
编辑2:最后一个的答案是:我可以返回 Dictionary<string, string>
最佳答案
您只需从函数中返回一个普通(即非 JSON)字符串,例如:
return "Hello World"
假设您使用的是 .Net 3.5,您的 JSON 响应将是:
{"d":"Hello World"}
关于asp.net - 如何在 Web 服务中返回 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2925070/