您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JSON数据转换成Java对象的方法

2024/3/24 18:13:45发布13次查看
第一种方法,使用 json-lib 。
第二种方法,使用 jackson。
前两种方法,对相对简单的pojo 对象来说,还是比较容易的。但是相对于嵌套多层的数据来说,复杂度就直接上去了。
第三种方法,使用google 的gson 来解决了。写过安卓的都知道,这东西,是google出来的,最大的好处就是,基本不依赖其他的包。用起来自然很爽,取值方式非常灵活。对复杂的json 取值,基本统统搞定。
在gson 中分为两种概念。一个就是 jsonobject 和 jsonarray。具体的看代码
package com.mycompany.gsondata; import com.google.gson.jsonarray; import com.google.gson.jsonobject; import com.google.gson.jsonparser; /** * hello world! * */ public class app { public static void main(string[] args) { string jsondata = "{\"questionnaireid\": \"qntest\",\"answerresults\":[{\"questionid\":\"qstest01\",\"ansercontent\":\"cfb7f441-9086-11e3-8cf8-000c2945c442\"},{\"questionid\":\"qstest01\",\"ansercontent\":\"cfb7f441-9086-11e3-8cf8-000c2945c442\"},{\"questionid\":\"qstest03\",\"ansercontent\":\"6b3a9cce-9087-11e3-8cf8-000c2945c442,a086331d-9087-11e3-8cf8-000c2945c442\"},{\"questionid\":\"qstest01\",\"ansercontent\":\"cfb7f441-9086-11e3-8cf8-000c2945c442\"},{\"questionid\":\"qstest05\",\"ansercontent\":\"test测试文字填空\"},{\"questionid\":\"qstest06\",\"ansercontent\":\"3\"},{\"questionid\":\"qstest07\",\"ansercontent\":\"2.2\"}]}"; jsonobject root = new jsonparser().parse(jsondata).getasjsonobject(); system.out.println(root.get("questionnaireid").tostring());//直接取的根节点值 jsonarray answerlist = root.getasjsonarray("answerresults");//取数组 for (int i = 0; i < answerlist.size(); i++) { system.out.println(answerlist.get(i).getasjsonobject().get("questionid").tostring()); system.out.println(answerlist.get(i).getasjsonobject().get("ansercontent").tostring()); } } }
更多json数据转换成java对象的方法。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product