Jackson JSON parserを使用して JSON 文字列を解析したい。解析したい JSON コードには、オブジェクトがある配列が含まれています。text
このオブジェクトから、およびretweet_count
属性を抽出します。
[
{
"created_at": "Tue Jan 08 08:19:58 +0000 2013",
"id": 288560667345178600,
"text": "test tweet",
"source": "web",
"truncated": false,
"user": {
"id": 941802900,
"id_str": "941802900",
"location": ""
},
"contributors": null,
"retweet_count": 0,
"favorited": false,
"retweeted": false
}
]
私はこのコードを使用してそれをやろうとしました:
JsonFactory f = new JsonFactory();
JsonParser jp = f.createJsonParser(str);
boolean first = true;
while (jp.nextValue() != JsonToken.END_ARRAY) {
Tweet tweet = new Tweet();
while (jp.nextToken() != JsonToken.END_OBJECT) {
String fieldName = jp.getCurrentName();
jp.nextToken();
if (fieldName.equals("text")) {
tweet.setText(jp.getText());
} else if (fieldName.equals("retweet_count")) {
tweet.setRetweetCount(jp.getValueAsLong());
}
}
}
ただし、期待した結果が得られません。問題は、「ツイート」オブジェクト内に別の「ユーザー」オブジェクトがあり、パーサーがユーザー オブジェクトの に遭遇すると、それがツイート オブジェクト全体}
の であると考えることにあると思います。}
この状況を解決する方法を教えてください。