これが私のjsonデータの構造です。これと同じように膨大な量のデータを持っています。これを解析するためにJacksonパーサーを使用しています。
{
"dealers":
{
"google.com":{"id":1,"merchantname":"google","status":"active"},
"apple.com":{"id":2,"merchantname":"apple","status":"active"}
}
}
コード:
while (jParser.nextToken() != JsonToken.END_OBJECT) {
jParser.nextToken();
while (jParser.nextToken() != JsonToken.END_OBJECT) {
jParser.nextToken();
while (jParser.nextToken() != JsonToken.END_OBJECT) {
jParser.nextToken();
String fieldname = jParser.getCurrentName();
if (fieldname != null) {
if ("id".equals(fieldname)) {
jParser.nextToken();
if (jParser.getText() != null)
merchantID = jParser.getText();
else
merchantID = "";
}
if ("merchantname".equals(fieldname)) {
jParser.nextToken();
if (jParser.getText() != null)
merchantname = jParser.getText();
else
merchantname = "";
}
if ("status".equals(fieldname)) {
jParser.nextToken();
if (jParser.getText() != null)
name = jParser.getText();
}
}
}
}
}
データが正しく解析されていません。jParser.nextToken() メソッドを台無しにしました。ここで間違いを指摘できる人はいますか?