2016-03-23 3 views
0

私は現在、このJSONを返すWebサービスを持っている:JavaのジャージーJSONのウェブサービスの適切な配列の戻り

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

どのように私はこれを達成することができます

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

私が考えることの1つの方法は、モジュールリストを割り当てるクラスを作成することです。 – starcorn

+0

どのように見えるでしょうか?モジュールのリストだけのクラス?そして、その答えにクラスを戻しますか? –

+0

はい、正確にあなたがそれを説明しました。 – starcorn

答えて

2

ラップつのエントリを持つマップ内のリスト

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

これはさらに良いアイデアです – starcorn

+0

魅力的な作品です!ありがとう! –

関連する問題