当前位置: 移动技术网 > IT编程>开发语言>Java > JSON数据转换成Java对象的方法

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

2019年07月22日  | 移动技术网IT编程  | 我要评论
第一种方法,使用 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()); 
        } 

    } 
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网