【问题标题】:Java Jersey JSON webservice proper array returnJava Jersey JSON webservice正确的数组返回
【发布时间】:2016-03-23 20:38:47
【问题描述】:

我目前有一个返回此 JSON 的网络服务:

[  
   {  
      "id":1,
      "description":"RGB LED module"
   },
   {  
      "id":4,
      "description":"Motion Sensor module"
   },
   {  
      "id":3,
      "description":"Camera module"
   },
   {  
      "id":2,
      "description":"Display module"
   }
]

但是,我需要它是:

{  
   "modules":[  
      {  
         "id":1,
         "description":"RGB LED module"
      },
      {  
         "id":4,
         "description":"Motion Sensor module"
      },
      {  
         "id":3,
         "description":"Camera module"
      },
      {  
         "id":2,
         "description":"Display module"
      }
   ]
}

我怎样才能做到这一点?

这是我当前的 Java 代码:

  @GET
  @Path("availableModules")
  @Produces(MediaType.APPLICATION_JSON)
  public Response getModules()
  {        
     return Response.ok(createAvailableModuleList()) //200
        .header("Access-Control-Allow-Origin","*")
        .build();
  }

createAvailableModuleList 现在返回一个模拟的 ArrayList,看起来像这样:

  public List<Module> createAvailableModuleList()
  {
    Module ledModule=new Module(1, "RGB LED module");
    Module motionSensorModule=new Module(4, "Motion Sensor module");
    Module cameraModule=new Module(3, "Camera module");
    Module displayModule=new Module(2, "Display module");

    List<Module> modules = new ArrayList<Module>();
    modules.add(ledModule);
    modules.add(motionSensorModule);
    modules.add(cameraModule);
    modules.add(displayModule);
    return modules;
  }

【问题讨论】:

  • 我能想到的一种方法是创建您将模块列表分配给的类。
  • 那会是什么样子?只有模块列表的类?并在响应中返回类?
  • 是的,正如你所描述的那样。

标签: java json web-services rest


【解决方案1】:

用一个条目将列表包装在地图中

 LinkedHashMap<String,Object> map = new LinkedHashMap<>();
 map.put("modules", createAvailableModuleList()); 
 return Response.ok(map)...

【讨论】:

  • 这是一个更好的主意
  • 像魅力一样工作!谢谢老哥!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-04
相关资源
最近更新 更多