我想从我的Android应用程序中的数据库访问数据.为此,我使用了PHP Web服务和JsON格式的数据.当我向Web服务请求数据时,会得到如下信息:
{"products": [ {"product":["prod_ID_1","prod_name_1","prod_barcode_1","prod_brand_1","prod_wrapper_1","12.00000"]}, {"product":["prod_ID_2","prod_name_2","prod_barcode_2","prod_brand_2","prod_wrapper_2","24.00000"]} ]}
但是有1000种产品.显然,JsonObject和JsonArray对此无效.所以我想使用Jackson流Json解析器.我无法在我的应用程序中保留产品列表,因为这会占用大量内存.所以我想做的是从Json中读取一个产品,将其写入我的AndroID sqlite数据库,读取下一个产品,并将其写入数据库,依此类推.
我已经看过这个example了,但是如果我使用了它,那我就不得不使用产品列表.所以我的问题是,我如何逐个产品读取这个Jsonarray?
提前致谢.
@H_403_14@解决方法:任何人都需要它,这是我从here那里学到的解决方法.
JsonFactory f = new JsonFactory();JsonParser jp = f.createJsonParser( httpclIEnt.execute(httppost, responseHandler) );jp.nextToken();while(jp.nextToken()!=JsonToken.END_OBJECT){ jp.nextToken(); while (jp.nextToken()!=JsonToken.END_ARRAY){ jp.nextToken(); while(jp.nextToken()!=JsonToken.END_OBJECT){ String fIEldname = jp.getCurrentname(); while (jp.nextToken()!=JsonToken.END_ARRAY){ produto p_Json = new produto(); //produto is my product class p_Json.ID = Integer.parseInt(jp.getText()); jp.nextToken(); p_Json.name = jp.getText(); jp.nextToken(); p_Json.cod_barras = jp.getText(); //product barcode jp.nextToken(); p_Json.marca = jp.getText(); //product brand jp.nextToken(); String formato = jp.getText(); //product wrapper jp.nextToken(); p_Json.formato = formato+"["+jp.getText()+"]"; //formatting as required by my database, as wrapper+"["+number+"]" //The following line writes the product in the database... bd.addProduto(p_Json); } } } } jp.close(); // ensure resources get cleaned up timely and // properly
总结 以上是内存溢出为你收集整理的Android:使用Jackson逐对象解析JSON对象全部内容,希望文章能够帮你解决Android:使用Jackson逐对象解析JSON对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)