当前位置: 首页 > 面试题库 >

WebMethod以JSON格式返回值

白迪
2023-03-14
问题内容

如何将Webmethod的值以JSON格式返回给客户端?

我要返回两个静态int值。
我是否需要使用这两个属性创建新对象并返回它?
GetStatus()方法经常被调用,我不喜欢每次仅用于json格式创建一个特殊对象的想法。

[WebMethod]
public static int GetStatus()
{
    int statusProcess,statusProcessTotal;

    Status.Lock.EnterReadLock();
    statusProcess=Status.Process; //Static field
    statusProcessTotal=Status.ProcessTotal; //Static field        
    Status.Lock.ExitReadLock();

    return ...
}

在客户端,我在捕获返回值:

function OnSucceeded(result, userContext, methodName)   
(PageMethods.GetStatus(OnSucceeded, OnFailed);)

问题答案:

我只想带一个物体。它符合您的需求。如果您有两个返回值,则必须以结构化的方式将它们放在一起。

  public class StatusResult
        {
            public int StatusProcess { get; set; }
            public int StatusProcessTotal { get; set; }
        }

  [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public StatusResult GetStatus()
        {
            int statusProcess,statusProcessTotal;

            //Status.Lock.EnterReadLock();
            statusProcess = 5;
            statusProcessTotal = 1; //Static field


            var result = new StatusResult();
            result.StatusProcess = statusProcess;
            result.StatusProcessTotal = statusProcessTotal;

            return result;
        }


 类似资料:
  • 问题内容: 如何使用Jersey / JAX-RS框架以XML / JSON文档形式返回a并不是很明显。它已经支持s了,但是当涉及到s时,就没有了。即使将嵌入到包装器类中,XML模式中也没有类型。 关于如何在Jersey中将地图编组为XML / JSON文档的任何实用建议? 问题答案: 我知道它的回复很晚,但是我希望有一天它能对某人有所帮助:)我应用的最简单,最快的修复方法是 输出:{“ 1”:“

  • 我有一个方法返回。代码如下类所示: 和作为错误。 如何解决此错误

  • 问题内容: 我有一个带WebMethod的asp.net页面,可将JSON传递回我的JavaScript。 贝娄是网络方法: 当它返回给客户端时,其格式如下: 问题在于双引号将所有内容都包装在’d’下。在web方法或其他不带引号的返回数据的方法中,我缺少什么吗?我真的不想每次都在客户端上删除它。我也看过其他的文章,这些文章是不会发生的。 任何帮助,将不胜感激谢谢。 问题答案: 我假设您想返回对象的

  • 我有一个ReST API到一个应用程序,该应用程序中的所有控制器都在下找到,这些控制器都返回JSON响应,并带有一个,它处理所有异常以映射到JSON格式的结果。 从Spring 4.0开始,这非常有效现在支持注释匹配。我无法解决的是如何为401-UnAuthated和400-Bad Request响应返回JSON结果。 相反,Spring只是将响应返回给容器(tomcat),该容器将其呈现为超文本

  • 我是新来表达,目前如果我想发送一个回应,我会这样做 对于我所有的控制器函数,我会这样做。我想这是一种压倒性的,所以我在想是否有可能制作一个广义版本的响应。 所以经过一些搜索,我发现有两种方法可以实现这一点: 我找到了这个答案。这很清楚,但我认为这是浪费时间,我的控制器不够可读,我必须在每个控制器函数中做以下事情 这是非常有希望的,但不幸的是,经过这么多次尝试和遵循express docs,我无法让

  • @ResponseBody无法返回forma json,我在浏览器上获得了Etat HTTP 406 我正在使用:jackson-core-asl 1.9.3和ajckson-mapper-asl 1.9.3 Getjson: Spring: 我的servelet-context: 我通过这个url进入浏览器: http://othman-pc.com:8080/dsi/natureparoper