package com.test.json;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.google.gson.Gson;
import com.test.model.Box;
import com.test.model.News;
import com.test.model.Teacher;
import com.test.model.SchoolClass;
import com.test.model.Student;
public class JsonTest {
public static void main(String[] args) {
// 模拟从数据库获取数据,可将此处改为用JDBC从数据库读取数据
Teacher c1 = new Teacher(10010, "颜老师", "教授");
// 添加学生信息到集合
Student s1 = new Student(201520800, "张三", "2015-12-01", "男");
Student s2 = new Student(201520800, "李四", "2015-08-01", "男");
Student s3 = new Student(201520800, "如花", "2015-06-01", "女");
Student s4 = new Student(201520800, "如柳", "2015-07-01", "女");
List<Student> sList = new ArrayList<Student>();
sList.add(s1);
sList.add(s2);
sList.add(s3);
sList.add(s4);
// 创建班级,包涵其他JavaBean对象以及数组
SchoolClass sc = new SchoolClass(101, "软件1班", c1, sList);
// 创建一个新闻类,包涵Date类型对象
News newOne = new News(110, "日本地震", "日本福田发生了7级地震", new Date(
System.currentTimeMillis()), "www.baidu.com");
// 调用GSON jar工具包封装好的toJson方法,可直接生成JSON字符串
Gson gson = new Gson();
String sJson = gson.toJson(c1);
String scJson = gson.toJson(sc);
String nJson = gson.toJson(newOne);
// 输出JSON
System.err.println(nJson);
System.out.println(sJson);
System.out.println(scJson);
// 反序列化JSON为对象
String teJsonString = "{\"tId\":10010,\"name\":\"张老师\",\"title\":\"教授\"}";
Teacher teacher = gson.fromJson(teJsonString, Teacher.class);
System.out.println(teacher.getName());
// 泛型模拟
Box<String> name = new Box<String>("corn");
Box<Integer> age = new Box<Integer>(712);
Box<Number> number = new Box<Number>(314);
getData(name);
getData(age);
getData(number);
//上限
getUpperIntegerData(age);
getUpperIntegerData(number);
//下限
getUnderIntegerData(age);
}
public static void getData(Box<?> data) {
System.out.println("data :" + data.getData());
}
public static void getUpperIntegerData(Box<? super Integer> data) {
System.out.println("data :" + data.getData());
}
public static void getUnderIntegerData(Box<? extends Integer> data) {
System.out.println("data :" + data.getData());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JsonTest创建接口外部调用.rar (40个子文件)
JsonTest
src
com
test
model
SchoolClass.java 926B
Teacher.java 643B
Student.java 811B
NewTotal.java 513B
News.java 1KB
Box.java 294B
json
JsonServlet.java 2KB
JsonTest.java 2KB
.idea
misc.xml 278B
.name 8B
modules.xml 265B
encodings.xml 734B
workspace.xml 24KB
libraries
gson_2_6_2.xml 306B
artifacts
untitled1_war_exploded.xml 511B
out
production
untitled1
com
test
model
SchoolClass.class 2KB
Box.class 875B
News.class 2KB
NewTotal.class 1KB
Teacher.class 1KB
Student.class 1KB
json
JsonTest.class 4KB
JsonServlet.class 3KB
artifacts
untitled1_war_exploded
WEB-INF
web.xml 709B
classes
com
test
model
SchoolClass.class 2KB
Box.class 875B
News.class 2KB
NewTotal.class 1KB
Teacher.class 1KB
Student.class 1KB
json
JsonTest.class 4KB
JsonServlet.class 3KB
lib
gson-2.6.2.jar 224KB
servlet-api.jar 173KB
index.jsp 934B
web
WEB-INF
web.xml 709B
lib
gson-2.6.2.jar 224KB
servlet-api.jar 173KB
index.jsp 934B
untitled1.iml 977B
共 40 条
- 1
资源评论
寒泊
- 粉丝: 75
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功