我無法解析包含對象數組的JSON流,在這裏我只添加了一個對象以進行簡化。無法解析json數組使用jackson json streaming
{
"status": true,
"categories": [
{
"obj_cat_id": "26",
"session_user": "212233379",
"timestamp": "2011-10-30 04:34:53"
}
]
}
我的嘗試:
try {
JsonFactory f = new JsonFactory();
JsonParser jp = f.createJsonParser(is);
jp.nextToken(); /* START_OBJECT */
while (jp.nextToken() != JsonToken.END_OBJECT) {
if ("status".equals(jp.getCurrentName())) {
jp.nextToken(); /* VALUE_TRUE */
status = jp.getText();
Constants.showLog("Status", jp.getText());
} else if ("categories".equals(jp.getCurrentName())) {
//jp.nextToken();
while (jp.nextToken() != JsonToken.END_ARRAY) {
//jp.nextToken();
while (jp.nextToken() != JsonToken.END_OBJECT) {
String namefieldOne = jp.getText();
Constants.showLog(TAG, namefieldOne);
}
}
}
}
jp.close();
的主要問題是,當我做jp.nextToken在當前令牌是START_ARRAY它直接進入END_ARRAY,我不能訪問其對象值。
我正在使用Jackson Streaming解析器來提高效率。
什麼樣的錯誤你得到了什麼? – 2013-03-28 08:31:00
沒有錯誤,未獲取類別數組值? – 2013-03-28 08:32:49
你在這裏沒有得到任何東西? Constants.showLog(TAG,namefieldOne); try catch是否有任何異常?請顯示你的logcat – 2013-03-28 08:38:03