0

この種のリターンでは、ベースのListオブジェクト(equipmentMetrics)を削除する必要があります。

{
"equipmentMetrics": [{
    "id": "BOSS|C5E02126",
    "reportedHours": "499.9998",
    "reportingDate": "2012-10-10"
}, {
    "id": "BOSS|C5E02126",
    "reportedHours": "499.9998",
    "reportingDate": "2012-11-10"
}]

}

ジャージーとこのオブジェクトを使用しています:

     @XmlRootElement(name = "equipmentMetrics")
    public class EquipmentMetricsResponse {
        private String id;
...}

そしてこのエンドポイント:

@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Path("")
public List<EquipmentMetricsResponse> postV1Default(EquipmentMetricsRequest theRequest) {...}

こんな感じのレスポンスが欲しいと思います。私たちはただ取り出したいだけです:

"equipmentMetrics":

だから私たちはこれが欲しいと信じています:

[{
        "id": "BOSS|C5E02126",
        "reportedHours": "499.9998",
        "reportingDate": "2012-10-10"
    }, {
        "id": "BOSS|C5E02126",
        "reportedHours": "499.9998",
        "reportingDate": "2012-11-10"
    }]

何か助けはありますか?

4

1 に答える 1

1

com.google.gson.Gsonライブラリ を使用してそれを行うことができます。

@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Path("")
public String postV1Default(EquipmentMetricsRequest theRequest) {
   List<EquipmentMetricsResponse> retVal ...
   ...  
   return new Gson().toJson(retVal);  
}   

返されるJSONは

   [{
        "id": "BOSS|C5E02126",
        "reportedHours": "499.9998",
        "reportingDate": "2012-10-10"
    }, {
        "id": "BOSS|C5E02126",
        "reportedHours": "499.9998",
        "reportingDate": "2012-11-10"
    }]
于 2012-11-15T20:34:48.473 に答える