博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java对象转为Json串
阅读量:3563 次
发布时间:2019-05-20

本文共 3018 字,大约阅读时间需要 10 分钟。

在Ajax的应用中,我们通常需要将JavaBean,List,Map等对象转为Json串,方便页面解析

需要导入的jar包有

commons-beanutils-1.7.0.jar

commons.collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
jdom.jar
json-lib-2.2.2-jdk15.jar
json-lib-2.2.3-jdk13.jar

POJO类

Student类

public class Student {	private String id;	private String name;	public String getId() {		return id;	}	public void setId(String id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}}
Person类:

public class Person {	private String name;	private int age;	private Student student;	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;	}	public Student getStudent() {		return student;	}	public void setStudent(Student student) {		this.student = student;	}	}

1、将JavaBean转为Json串

public  void test1(){	Student stu = new Student();	stu.setId("111");	stu.setName("stu1");	Person p = new Person();	p.setAge(18);	p.setName("Person1");	p.setStudent(stu);	JSONObject json = JSONObject.fromObject(p);//将对象转json	System.out.println(json.toString());						Person jb = (Person)JSONObject.toBean(json,Person.class);	//将json转为JavaBean	System.out.println(jb.getAge());	System.out.println(jb.getName());}
输出结果为:{"age":18,"name":"Person1","student":{"id":"111","name":"stu1"}}

2、将List转为Json

public void test2(){	List list1 = new ArrayList();	list1.add( "first" );	list1.add( "second" );	JSONArray arrayToJson = JSONArray.fromObject( list1 );	System.out.println(arrayToJson.toString());	System.out.println("--------------");	List list2 = new ArrayList();	Student s1 = new Student();	s1.setId("111");s1.setName("aaa");	Student s2 = new Student();	s2.setId("111");s2.setName("aaa");	list2.add(s1);	list2.add(s2);	arrayToJson = JSONArray.fromObject(list2);	System.out.println(arrayToJson.toString());}
输出结果:

["first","second"]

--------------
[{"id":"111","name":"aaa"},{"id":"111","name":"aaa"}]

3、将Set转为Json

public void test5(){	Set set = new HashSet();	set.add("aaa");	set.add("bbb");	set.add("ccc");	JSONArray jsonArray = JSONArray.fromObject(set);	System.out.println(jsonArray.toString());	System.out.println("--------------");	Student stu = new Student();	stu.setId("111");stu.setName("aaa");	jsonArray = JSONArray.fromObject(stu);	System.out.println(jsonArray.toString());}

输出结果:

["aaa","ccc","bbb"]

--------------
[{"id":"111","name":"aaa"}]

由此可见,List转化为Json与Set转换为Json的代码基本相同

4、Map对象转化为Json

public void test3(){	Map map = new HashMap();	map.put("key1","aaa");	map.put("key2","bbb");	map.put("key3","ccc");	map.put("key4","ddd");	JSONObject obj = JSONObject.fromObject(map);	System.out.println(obj.toString());}
输出结果:{"key4":"ddd","key3":"ccc","key2":"bbb","key1":"aaa"}

5、数组类型转化为json串

public void test4(){			boolean[] boolArray = new boolean[] { true, false, true };	JSONArray jsonArray1 = JSONArray.fromObject(boolArray);	System.out.println(jsonArray1.toString());}
输出结果:[true,false,true]

转载地址:http://ljcrj.baihongyu.com/

你可能感兴趣的文章
【iOS学习】RxSwift从零入手 - 介绍
查看>>
数据结构之栈
查看>>
Elastic Stack简介
查看>>
关于deepin系统安装design compiler的问题解答
查看>>
Java Agent简介及使用Byte Buddy和AspectJ LTW监控方法执行耗时
查看>>
记录一下最近的学习经历
查看>>
hadoop3.0+spark2.0两台云服务器集群环境配置。
查看>>
网站实现qq登录(springboot后台)
查看>>
简单的用户头像修改功能(springboot后台)
查看>>
springboot+mybatis实现分页
查看>>
leetcode332. 重新安排行程
查看>>
为什么局域网网段不同不能通信?
查看>>
itchat微信助手,kaggle 电影数据集分析,基于内容的电影推荐
查看>>
认识和使用JWT
查看>>
通过springboot框架,自己动手实现oauth2.0授权码模式认证
查看>>
条件表达式于运算符的点点滴滴的积累
查看>>
最短路径最基本的三种算法【此后无良辰】
查看>>
class的点点滴滴的总结
查看>>
vector 的点点滴滴的总结
查看>>
测试用例
查看>>