我无法解析包含对象数组的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