asp.net - 如何在 Web 服务中返回 JSON?

标签 asp.net web-services asp.net-3.5

我需要一个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/

相关文章:

c# - Bot 框架在部署时缺少 project.json

c# - 如何更改 webClient.UploadData() 的时间限制?

具有 SSL 身份验证的 Java SOAP 客户端 : bad certificate

asp.net - 创建30秒的MP3文件预览

c# - 如何使用对象从 DotNet 3.5 Web 应用程序调用 Web API?

c# - 如何在更新面板 Asp.net C# 中保持滚动位置?

c# - SeriesChartType.Point 所有点都是正方形

c# - Viewstate 列表在 GridView 中单击行编辑时丢失数据

web-services - Delphi XE 的 SOAP 服务器和客户端应用程序 VCL+indy 演示?

asp.net - 从后面的代码执行选择查询