簡體   English   中英

Java Jersey JSON Web服務正確的數組返回

[英]Java Jersey JSON webservice proper array return

我目前有一個返回此JSON的Web服務:

[  
   {  
      "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;
  }

用一個條目將列表包裝在地圖中

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM