【问题标题】:String to JSON Apache CXF REST字符串到 JSON Apache CXF REST
【发布时间】:2017-04-18 09:49:28
【问题描述】:

我有一个类,我将应用程序的名称存储为字符串:

public class ApplicationInformation {

   public static final String APPLICATION_NAME = "APP_XYZ";

public String getApplicationName() {
      return APPLICATION_NAME;
   }

现在我在我的 RESTful 类中调用这个方法:

public Response getApplicationName() {
  String applicationName = new ApplicationInformation().getApplicationName();
  return Response.ok(applicationName, MediaType.APPLICATION_JSON).build();

}

但我得到的结果是:

[APP_XYZ]

而我想要得到的是:

[{
  "APPLICATION_NAME":"APP_XYZ"
}]

有人知道我是怎么做到的吗? 我用 org.json 中的 JSONObject 尝试过,但这没有帮助

我正在使用 APACHE CXF 作为 REST 库

【问题讨论】:

  • 为什么要把它包装成一个数组?

标签: java json rest cxf


【解决方案1】:

您是否尝试过: Response.ok(new ApplicationInformation(), MediaType.APPLICATION_JSON).build();

如果您需要自定义 JSON 格式,您可以在 ApplicationInformation 类上使用 Jackson 注释。

【讨论】:

    【解决方案2】:

    您可以使用 jackson 库注释来操作 json 响应。

    @JsonTypeName("应用信息") 公共类应用信息 public static final String APPLICATION_NAME = "APP_XYZ";

    public String getApplicationName() {
          return APPLICATION_NAME;
       }
    

    这应该会产生如下响应

    {
        "ApplicationInformation": {
            "APPLICATION_NAME ": "APP_XYZ"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-04-03
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      • 2013-09-08
      相关资源
      最近更新 更多