java对象与JSON字符串互转

来源:互联网 发布:书生软件打不开sep 编辑:程序博客网 时间:2024/06/07 10:42

想完成java对象转换成JSON字符串必须在项目中导入以下jar包,缺一不可:
这里写图片描述

首先创建一个实体类Student.java

package com.zhk.bean;public class Student {    private String name;    private int age;    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;    }    @Override    public String toString(){        return this.name+"  "+this.age;    }}

其次创建TestJson.java类

package com.zhk.jsontojava;import java.util.ArrayList;import java.util.List;import com.zhk.bean.Student;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class TestJson {    //java对象转为json字符串    public static void test1(){        Student stu = new Student();        stu.setName("James");        stu.setAge(35);        JSONObject jsonobj = JSONObject.fromObject(stu);        String jsonstr = jsonobj.toString();        System.out.println(jsonstr);    }    //java数组(集合)转换为JSON字符串    public static void test2(){        List<Student> slist = new ArrayList<Student>();        for(int i=0;i<3;i++){            Student stu = new Student();            stu.setName("zhang"+i);            stu.setAge(20+i+1);            slist.add(stu);        }        JSONArray jsonarray = JSONArray.fromObject(slist);         String jsonstr = jsonarray.toString();        System.out.println(jsonstr);    }    //json字符串转换为java对象    public static void test3(){        String jsonstr = "{\"name\":\"zhang\",\"age\":15}";        JSONObject jsonobj = JSONObject.fromObject(jsonstr);        Student stu = (Student) JSONObject.toBean(jsonobj, Student.class);        System.out.println(stu);    }    //JSON字符串转换成java数组(集合)    public static void test4(){        String jsonstr = "[{\"name\":\"zhang\",\"age\":15},"+                        "{\"name\":\"zhao\",\"age\":16},"+                        "{\"name\":\"wang\",\"age\":25}]";        JSONArray jsonsrr = JSONArray.fromObject(jsonstr);        List<Student> slist = (List<Student>) JSONArray.toCollection(jsonsrr, Student.class);        for (Student student : slist) {            System.out.println(student);        }    }    public static void main(String[] args) {        //test1();        //test2();        //test3();        test4();    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 月子见风怎么办暴雪将 老氏电视机出现雪花点怎么办 飞利浦电视显示雪花片怎么办 电视无信号出雪花怎么办 电视打开都是雪花没有电视台怎么办 电视视频1无信号怎么办 新买的电视无信号怎么办 卫星有信号没有视频怎么办 户户通没有信号怎么办视频 雪花泥粘衣服上怎么办 遗产按份额处分判决后怎么办 宝马后驱车下雪天怎么办 宝马后驱车路滑怎么办 车子陷入泥地里怎么办 深圳居住证签注过期了怎么办 手机不能播放视频乱码了怎么办 被加密的视频无法观看怎么办 苹果5忘记id密码怎么办 七个月宝宝脾胃不好怎么办 八个月宝宝脾虚怎么办 七个月宝宝脾胃虚怎么办 海岛奇兵点错了怎么办 螳螂的脚断了怎么办 海岛奇兵打不过玩家怎么办 海岛奇兵资源满了怎么办 海岛奇兵杯越来越多打不玩家怎么办 海岛奇兵控杯技巧 杯数太高怎么办 海岛奇兵发现求救信号怎么办 海岛奇兵被打了怎么办 小鱼翅卡喉咙了怎么办 鱼翅卡在喉咙里怎么办 斗鱼身份证被使用怎么办 做的鱼丸太腥了怎么办 做鱼丸太稀了怎么办 斗鱼手机号换了怎么办 斗鱼直播掉帧怎么办 手机一直卡顿点不动怎么办呢 斗鱼直播分值底怎么办 斗鱼6000鱼丸怎么办卡 斗鱼直播没人看怎么办 淘宝直播间没人气怎么办