これは私の JSON ソースです。トークンをスキップretweeted_status
して次のトークンに移動できますかcontributors
(トークン内のretweeted_status
トークンではありません)。
現在、次のコードがretweeted_status
オブジェクトに入り、それぞれを解析しています。
jp = jsonF.createJsonParser(strLine);
if (jp.nextToken() != JsonToken.START_OBJECT) {
throw new IOException("Expected data to start with an Object");
}
TwitterEntry result = new TwitterEntry();
// Iterate over object fields:
while (jp.nextToken() != JsonToken.END_OBJECT) {
String fieldName = jp.getCurrentName();
// Let's move to value
jp.nextToken();
if (fieldName.equals("id")) {
result.setId(jp.getLongValue());
} else if (fieldName.equals("text")) {
result.setText(jp.getText());
} else if (fieldName.equals("fromUserId")) {
result.setFromUserId(jp.getIntValue());
} else if (fieldName.equals("toUserId")) {
result.setToUserId(jp.getIntValue());
} else if (fieldName.equals("languageCode")) {
result.setLanguageCode(jp.getText());
} else { // ignore, or signal error?
//Ignoring unrecognized fields
//throw new IOException("Unrecognized field '"+fieldName+"'");
}
}
jp.close();