Android:使用Jackson逐对象解析JSON对象

Android:使用Jackson逐对象解析JSON对象,第1张

概述我想从我的Android应用程序中的数据库访问数据.为此,我使用了PHPWeb服务和JSON格式的数据.当我向Web服务请求数据时,会得到如下信息:{"products":[{"product":["prod_id_1","prod_name_1","prod_barcode_1","prod_brand_1","prod_wrapper_1",

我想从我的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对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存