package com.ljj.test;
import com.ljj.test.entity.Grade;
import com.ljj.test.entity.Student;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @Author lijunyun
* @Date 2022/11/21 16:57
*/
public class TestMain {
//测试json的添加属性,打印
public void jsonTest(){
//创建JSONObject
JSONObject json = new JSONObject();
//添加属性
json.put("username", "张三");
json.put("password", "123");
//打印
System.out.println(json);
//增加属性
json.element("sex", "男");
json.put("age", 18);
System.out.println(json);
//根据key返回输出
System.out.println(json.get("sex"));
}
// bean与json互转
public void beanConvertJson(){
//定义对象
Student stu = new Student("张三", "123456");
//JavaBean对象转json字符串
JSONObject jsonObject = JSONObject.fromObject(stu);
System.out.println(jsonObject);
//json字符串转为javaBean
//定义json字符串
String jsondata = "{\"username\":\"李四\", \"password\":\"123\"}";
//转为json对象
JSONObject json = JSONObject.fromObject(jsondata);
//转为JavaBean对象,强转
Student stu2 = (Student)JSONObject.toBean(json, Student.class);
System.out.println(stu2.toString());
}
// deepBean与json互转
public void deepBeanConvertJson(){
String jsondata = "{\"student\":{\"username\":\"李四\", \"password\":\"123\"},\"count\":20,\"name\":\"这是我的班级名\"}";
//转为json对象
JSONObject json = JSONObject.fromObject(jsondata);
//转为JavaBean对象,强转
Grade grade = (Grade)JSONObject.toBean(json, Grade.class);
System.out.println(grade.toString());
}
// list与json互转
public void listConvertJson(){
//定义list集合
List list = new ArrayList();
list.add(new Student("张三", "123"));
list.add(new Student("李四", "456"));
//list转json字符串
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
//json字符串转list
List list2 = new ArrayList();
String jsondata = "[{\"password\":\"123\",\"username\":\"张三\"},{\"password\":\"456\",\"username\":\"李四\"}]";
JSONArray jsonArray1 = JSONArray.fromObject(jsondata);
for(int i = 0; i < jsonArray1.size(); i++) {
JSONObject jsonObject2 = jsonArray1.getJSONObject(i);
Student stu2 = (Student)JSONObject.toBean(jsonObject2, Student.class);
list2.add(stu2);
}
System.out.println(list2);
}
// map与json互转
public void mapConvertJson(){
//定义map集合
Map map = new HashMap();
map.put("1", new Student("张三", "123"));
map.put("2", new Student("李四", "456"));
//Map转json字符串
JSONObject jsonMap = JSONObject.fromObject(map);
System.out.println(jsonMap);
//定义字符串map集合
String jsondata = "{\"1\":{\"password\":\"123\",\"username\":\"张三\"},\"2\":{\"password\":\"456\",\"username\":\"李四\"}}";
//map集合字符串转为map
Map map2 = (Map)JSONObject.fromObject(jsondata);
Set set = map2.keySet();
//定义迭代器,迭代输出
Iterator ite = set.iterator();
while(ite.hasNext()) {
//取出一个字符串对象
String key = (String)ite.next();
//转为json格式
JSONObject jsonObject = JSONObject.fromObject(map2.get(key));
//转为对象
Student stu = (Student)JSONObject.toBean(jsonObject, Student.class);
System.out.println(key+" "+stu);
}
}
public static void main(String[] args) {
TestMain testMain=new TestMain();
//选择执行你想看的方法
// testMain.mapConvertJson();
testMain.deepBeanConvertJson();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JsonDemo.zip (16个子文件)
JsonDemo
pom.xml 3KB
target
classes
com
ljj
test
entity
Student.class 1KB
Grade.class 2KB
TestMain.class 4KB
generated-sources
annotations
src
test
java
main
resources
java
com
ljj
test
TestMain.java 4KB
entity
Student.java 398B
Grade.java 342B
.idea
codeStyles
codeStyleConfig.xml 153B
misc.xml 513B
jarRepositories.xml 864B
encodings.xml 267B
compiler.xml 631B
kotlinc.xml 179B
workspace.xml 9KB
.gitignore 272B
JsonDemo.iml 81B
共 16 条
- 1
资源评论
北风toto
- 粉丝: 9777
- 资源: 29
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功