JSON数据的转换
1.在转换之前要导入几个包,分别为
commons-beanutils-1.7.0.jar
commons-chain-1.1.jar
commons-collections-3.2.1.jar
commons-digester-1.8.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.3-jdk15.jar
morph-1.1.1.jar
morph-sandbox-1.1.1.jar
mysql-connector-java-5.1.6-bin.jar
其中有几个包可以不倒,不过一般情况下都倒进去
JSON数据和对象之间的相互转换 以Teacher和Studetn为例
Teacher.java
1. package cn.csdn.hr.domain;
2.
3. import java.util.Date;
4. import java.util.List;
5.
6. public class Teacher {
7.
8. private String name;
9. private String sex;
10. private int age;
11. private Date birth;
12.
13. //教室所有的学生
14. private List<Student> stus;
15.
16. public Teacher() {
17. super();
18. // TODO Auto-generated constructor stub
19. }
20.
21. public String getName() {
22. return name;
23. }
24.
25. public void setName(String name) {
26. this.name = name;
27. }
28.
29. public String getSex() {
30. return sex;
31. }
32.
33. public void setSex(String sex) {
34. this.sex = sex;
35. }
36.
37. public int getAge() {
38. return age;
39. }
40.
41. public void setAge(int age) {
42. this.age = age;
43. }
44.
45. public Date getBirth() {
46. return birth;
47. }
48.
49. public void setBirth(Date birth) {
50. this.birth = birth;
51. }
52.
53.
54. public List<Student> getStus() {
55. return stus;
56. }
57.
58. public void setStus(List<Student> stus) {
59. this.stus = stus;
60. }
61.
62. @Override
63. public String toString() {
64. return "Teacher [age=" + age + ", birth=" + birth + ", name=" + name
65. + ", sex=" + sex + ", stus=" + stus + "]";
66. }
67.
68. }
Student.java
package cn.csdn.hr.domain;
public class Student {
private String name;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
1. 把java对象转换为JSON数据
2. public void fromObject() {
3. // 将java对象转换为JSON数据
4. Teacher teacher = new Teacher();
5. teacher.setName("老王");
6. teacher.setAge(23);
7. teacher.setBirth(new Date());
8.
9. // JSON字符串 引入类库文件
10.
11. System.out.println(JSONObject.fromObject(teacher));
12.
13. /**
14. * 输出的内容为 { "age":23, "birth":{ "date":28, "day":2, "hours":1,
15. * "minutes":21, "month":1, "seconds":33, "time":1330392093234,
16. * "timezoneOffset":0, "year":112 }, "name":"老王", "sex":""}
17. */
18.
19. }
2. 将java集合转换为JSON字符串
public void fromVector() {
List<Teacher> teas = new ArrayList<Teacher>();
for (int i = 0; i < 3; i++) {
Teacher teacher = new Teacher();
teacher.setName("老王");
teacher.setAge(23);
teacher.setBirth(new Date());
teas.add(teacher);
}
// teas集合
System.out.println(JSONArray.fromObject(teas).toString());
}
/**
* 执行的结果是3个一样的对象
* [{"age":23,"birth":{"date":28,"day":2,"hours":1,"minutes":29
* ,"month":1,"seconds"
* :54,"time":1330392594187,"timezoneOffset":0,"year":112
* },"name":"老王","sex":
* ""},{"age":23,"birth":{"date":28,"day":2,"hours":1,"minutes"
* :29,"month":1,
* "seconds":54,"time":1330392594187,"timezoneOffset":0,"year":
* 112},"name":"老王"
* ,"sex":""},{"age":23,"birth":{"date":28,"day":2,"hours":1,
* "minutes":29,"month"
* :1,"seconds":54,"time":1330392594187,"timezoneOffset":
* 0,"year":112},"name":"老王","sex":""}]
*
*
*/
3. 将JSON字符串转换为对象
@Test
public void fromJsonObject() {
// 第一步:定义成字符串
String teaObj = "{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":20,\"month\":1,\"seconds\":25,\"time\":1330392025906,\"timezoneOffset\":-480,\"year\":112},\"name\":\"陈\",\"sex\":\"男\"}";
// 第二步:使用JsonObject.fromObject方法将其字符串转换为JsonObject对象
JSONObject jsonObj = JSONObject.fromObject(teaObj);
// 第三步:调用JsonObject的toBean的方法,将其转换成一个Object对象
Teacher teac = (Teacher) JSONObject.toBean(jsonObj, Teacher.class);
System.out.println(teac.toString());
}
4.将数组的字符串转换成集合对象
public void fromJsonArray() {
// 声明字符串
String teaArr = "[{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":28,\"month\":1,\"seconds\":44,\"time\":1330392524093,\"timezoneOffset\":-480,\"year\":112},\"name\":\"陈\",\"sex\":\"男\"},{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":28,\"month\":1,\"seconds\":44,\"time\":1330392524093,\"timezoneOffset\":-480,\"year\":112},\"name\":\"陈\",\"sex\":\"男\"},{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":28,\"month\":1,\"seconds\":44,\"time\":1330392524093,\"timezoneOffset\":-480,\"year\":112},\"name\":\"陈\",\"sex\":\"男\"}]";
// 调用JsonArray.fromObject方法将其字符串转成一个JsonArray'对象
JSONArray jsonArra = JSONArray.fromObject(teaArr);
// 第三步:调用
List<Teacher> teas = (List<Teacher>) JSONArray.toCollection(jsonArra,
Teacher.class);
for (Teacher tea : teas) {
System.out.println(tea.toString());
}
}
有一个最简单的方法是得到字符串之后,直接用:
eval("("+datas+")"); datas为得到 的字符串
5.将java对象转换为json数据,即是通过Teacher来得到Student的实体
public void fromObject1(){
// 将java对象转换为JSON数据
Teacher teacher = new Teacher();
teacher.setName("老王");
teacher.setAge(23);
teacher.setBirth(new Date());
List<Student> seas = new ArrayList<Student>();
for (int i = 0; i < 3; i++) {
Student stu = new Student();
stu.setName("熊熊"+i);
seas.add(stu);
}
teacher.setStus(seas);
System.out.println(JSONObject.fromObject(teacher).toString());
}
分享到:
相关推荐
form数据与json对象的互相转换(完整版) * 将web Form 的数据转化成json字符串 * 将json对象的值解析后填入web Form 在AJAX开发中这是关键技术: 1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传...
使用jackson完成json与java对象的互相转换实例
用到gson-1.6.jar包,很容易的将实体类对象数据转化为JSON字符串,同理将json字符串转化为实体类对象数据。demo里面都有介绍,希望对大家有帮助。
json 字符串转成c++类对象,json 字符串转成c++类对象
NULL 博文链接:https://koowo88.iteye.com/blog/545995
纯javascript实现json与对象的互相转换完整项目,原创
将java对象list或者map转json数据不需要第三方包,直接使用就可以了,如果你传入的数据不确定是map类型还是list类型,那么自己处理一下就可以了(判断下类型,传入参数改为object)。 如果是json数据转成java对象list...
本文实例讲述了JSON字符串和JSON对象相互转化的方法。分享给大家供大家参考,具体如下: 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,...
C# 对象与JSON串互相转换
参照博客C# JSON和对象之间互相转换用Winform进行了JSON和对象之间转化的呈现,并用Socket来传输JSON。原文链接:http://www.cnblogs.com/HCCZX/p/5238556.html
Java对象与Json之间的互相转换的jar包,json是个非常重要的数据结构,在web开发中应用十分广泛。
json转对象 json转实体 利用阿里巴巴 fastjson 将对象 与json 数据互相转换 http://blog.csdn.net/chenmmo/article/details/70154964
JSON (JavaScript Object Notation)是 JavaScript 程序编写数据结构的原生...要将包含 JSON 数据的字符串转换为 Python 对象,可以把它传递给 json.loads() 函数,loads 的意思是 load string。 import json import l
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。...一、JSON字符串转换为JSON对象: eval() 和 JSON.parse eg- json字符串: var data = '{ "name": "dran", "sex": "man
string 、对象 、json之间相互互转 ,包含jar包测试类,做了简单的,能使而已!
Java对Json的一系列操作(构建、json与对象的转换),详细介绍了在Java中,对json数据的创建、以及字符串、对象与json的相互转换
可以实现JSON数据和bean对象之间的相互转换
主要介绍了JAVA对象JSON数据互相转换的四种常见情况,需要的朋友可以参考下
JSON数据和Java对象的相互转换 常见的解析器:Jsonlib,Gson,fastjson,jackson JSON转为Java对象 1. 导入jackson的相关jar包 2. 创建Jackson核心对象 ObjectMapper 3.调用ObjectMapper的相关方法进行...