以下をPOJOJackson
に逆シリアル化するために使用しています:JSON
{
"etag": "\"SomeETag\"",
"jobComplete": true,
"jobReference": {
"jobId": "someJobId",
"projectId": "someProjectId"
},
"rows": [
{
"f": [
{
"v": "101"
},
{
"v": "FirstService"
},
{
"v": "firstAPI"
}
]
},
{
"f": [
{
"v": "102"
},
{
"v": "SecondService"
},
{
"v": "SecondAPI"
}
]
}
],
"totalRows": "2"
}
私が使用しているPOJOは次のとおりです。
@JsonAutoDetect
@JsonIgnoreProperties(ignoreUnknown = true)
public class Response {
public String etag;
public boolean jobComplete;
public List<FWrapper> rows = new ArrayList<FWrapper>();
}
class FWrapper {
public F f;
}
class F {
public List<VWrapper> vWrappers = new ArrayList<VWrapper>();
}
class VWrapper {
public String v;
}
このコードを使用してマッピングを行います。
ObjectMapper mapper = new ObjectMapper();
Response response = mapper.readValue(response, Response.class);
そして、ここに私が得ているエラーがあります:
org.codehaus.jackson.map.JsonMappingException
: [ソース: java.io.StringReader@11563ff; で START_ARRAY トークンから mypackage.F のインスタンスをデシリアライズできません。行: 1、列: 227] (参照チェーン経由: mypackage.Response["rows"]->mypackage.FWrapper["f"])
同様のエラーでいくつかの古い質問を確認しましたが、まだ解決できませんでした。これ
は私のものと非常によく似ているように見えYour data is problematic in that you have inner wrapper objects in your array
ますが、これは私のデータにも当てはまると思います。しかし、まだ正しい POJO マッピングを行うことができませんでした。任意のポインタをいただければ幸いです。
編集:タイプミスを修正しました(Json
私が使用しているのは有効です)