把json格式转换成javaBean才可以。
于是查了一下资料,网上最多的资料就是下面的这种方式:

Java code?
1
2
3
4
5
6
7
8
9
String str = "[{\"id\":\"\",\"num\":\"\",\"dt\":\"2010-07-21T17:29:28\",\"consignee\":\"aaaa\",\"bank\":\"001\",\"ems\":\"0\"}]";
JSONArray array = JSONArray.fromObject(str);//先读取串数组
Object[] o = array.toArray();                //转成对像数组
System.err.println(o.length);            
JSONObject obj = JSONObject.fromObject(o[0]);//再使用JsonObject遍历一个个的对像
Order oo = (Order)obj.toBean(obj,Order.class);//指定转换的类型,但仍需要强制转化-成功
System.err.println(oo.getDt()+","+oo.getConsignee());
 
String ss = oo.getDt(); 

需要jar包为:json-lib
但是京东提供的jar包里面我没有找到所需要的类。(不愿额外添加jar包)
于是继续找,终于找到了一个ObjectMapper
继续网上搜了一下这个类用法的例子,有,但是比较少,没有直接可以现成用的。
于是就开始自己尝试各种方法来做例子。
首先字符串:

Java code?
1
String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";

接下来创建的是StudentList类

Java code?
1
2
3
4
5
6
7
8
9
10
public class StudentList {
    List<Student> student;
    public List<Student> getStudent() {
        return student;
    }
 
    public void setStudent(List<Student> student) {
        this.student = student;
    }   
}

下面是Student类

Java code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Student {
    private String name;
    private int age;
    //private StudentClass studentClass;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

最后测试程序

Java code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.List;
import org.codehaus.jackson.map.ObjectMapper;
 
public class JsonToJavaBean {
    public static void main(String[] args) {
        String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";
        Student stu = null;
        List<Student> list = null;
        try {
            ObjectMapper objectMapper=new ObjectMapper();
            StudentList studentList=objectMapper.readValue(str, StudentList.class);
            list=studentList.getStudent();
        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        
        for(Student s:list){
            System.out.println(s.getName());
        }
    }

结果:

leilei
leilei02

成功。。兴奋ing!~
继续尝试一下在student的里面添加班级属性的方法
Class stuclass{
private int classid;
private int gradeid; 
}

(转)json格式转换成javaBean对象的方法的更多相关文章

  1. json格式转换成Map的应用

    jsp 1.引用json.js(将json格式转换成字符串) 2. var name = document.getElementById("name").value; var re ...

  2. 数据库表转换成javaBean对象小工具

    package test.utils; import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter; ...

  3. 解决只有单引号的Json格式转换成bean问题

    objectMapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);单引号类似Json格式:{id:124463277,code:null ...

  4. JSON格式转换成XML格式

    第一种方法: 需要使用命名空间System.Runtime.Serialization.Json 下面有JsonReaderWriterFactory XmlDictionaryReader read ...

  5. 将String类型的json字符串转换成java对象

    1,import com.fasterxml.jackson.databind.ObjectMapper; ObjectMapper mapper = new ObjectMapper(); Mycl ...

  6. 数据处理 array json 格式 转换成 数组形式

    处理这种数据应该使用的方式是 this.cities= res.data.data.cities.sort((a,b)=>{ //排序 进行字母排序 return a.pinyin[0].cha ...

  7. json字符串转换成java对象

  8. Array.prototype.slice.call()等几种将arguments对象转换成数组对象的方法

    网站搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/10/array-prototype-slice-call%E7%AD%89%E5%87 ...

  9. gson和fastjson将json对象转换成javaBean 简单对照

    今天在网上看代码时,发现项目使用了Gson,用于将json字符串转换成javaBean. 以前没使用过Gson,随即,简单入了个们, 想起fastjson也有将json字符串转换成javaBean的A ...

随机推荐

  1. HDU1070 - Milk

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1070 解题思路:主要考察C结构体排序. #include <bits/stdc++.h> ...

  2. 【转】Servlet 九大对象和四个作用域

    隐式对象 说明 request 转译后对应HttpServletRequest/ServletRequest对象 response 转译后对应HttpServletRespons/ServletRes ...

  3. LOJ #3119. 「CTS2019 | CTSC2019」随机立方体 组合计数+二项式反演

    好神的一道计数题呀. code: #include <cstdio> #include <algorithm> #include <cstring> #define ...

  4. oracle基础知识点

    一.count(*).count(1).count(字段名)的区别select count(*) from t_md_inst --153797 --包含字段为null 的记录select count ...

  5. Codeforces Round #622 (Div. 2) C2 - Skyscrapers (hard version) 单调栈

    从左往右扫,找到比第i个小的第一个数字,l[i] = l[last] + (i - last) * m[i],用单调栈O(n)维护这个过程,再从右往左扫,同理可以算出r数组,注意一下long long ...

  6. Vue tinymce富文本编辑器

    tinymce 官方为 vue 项目提供了一个组件 tinymce-vue 一.安装tinymce-vue npm install @tinymce/tinymce-vue -S 二.下载tinymc ...

  7. zedboard通过BRAM实现PS和PL的简单通信

    使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口 ...

  8. python django项目的搭建及初始配置

    1.创建项目并创建应用 django-admin startproject my_project # 创建项目python manage.py startapp my_app # 创建应用 1.1 项 ...

  9. C语言实现反转链表 II(指定2个节点反转)

    要求: 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明:1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NULL, m ...

  10. http协议的POST传数据

    PostRequest使用StreamWriter对象写入请求流,不需要使用HttpUtility.UrlEncode显示转码,而下面的需要显示转码,还需要将参数转为字节码 蛋疼…………. publi ...