我想使用Jackson JSON parser解析JSON字符串。我想解析的JSON代碼包含一個數組,其中有一個對象。從這個對象,我想提取text
和retweet_count
屬性:使用Jackson Parser從JSON代碼獲取屬性
[
{
"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());
}
}
}
但是,我沒有得到預期的結果。我認爲問題在於'tweet'對象中有另一個'用戶'對象,當解析器遇到用戶對象的}
時,它認爲它是整個tweet對象的}
。你能告訴我如何解決這種情況?
你怎麼得到這個JSON響應的結束?請幫助我獲得微博鳴叫的轉推次數? – OMAK