Java 6---JSON的使用与解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37527943/article/details/84952594

导读

1.简介
2.JSON解析

简介

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

JSON解析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如上图右击复制在项目中的jar包,按图操作便导入了jar包,导入后会多出下图的文件目录,如果想删除,可以右击这个多出来的文件,如图

在这里插入图片描述

在这里插入图片描述

fastJson解析JSON

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Student.java

package com.hala.json;

public class Student {
	
	private int id;
	private String name;
	private int age;
	private String sex;
	
	
	
	public Student() {
		super();
	}



	public Student(int id, String name, int age, String sex) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}



	public int getId() {
		return id;
	}



	public void setId(int id) {
		this.id = id;
	}



	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 String getSex() {
		return sex;
	}



	public void setSex(String sex) {
		this.sex = sex;
	}



	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]";
	}
	
	
	
	

}

TestJson.java

package com.hala.json;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class TestJson {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//json字符串--->Student类对象
		//参数一:要转化的字符串
		//参数二:要转化成的类的类型 返回值为此类的一个对象
		//对这个类的要求:要有无参构造方法,要有属性的get,set方法
		String s1="{'id':1,'name':'小明','sex':'男','age':18}";
		Student stu=JSON.parseObject(s1, Student.class);
		System.out.println(stu);
		
		System.out.println("-------------------------------------------");
		
		
		//Student类对象--->json字符串
		Student stu1=new Student(2,"小花",22,"女");
		String s3=JSON.toJSONString(stu1);
		System.out.println(s3);
		
		System.out.println("-------------------------------------------");
		
		
		//json字符串--->List
		String s2="[{'id':2,'name':'小红','age':19,'sex':'女'},"
				+ "{'id':3,'name':'小白','age':20,'sex':'男'}]";
		List<Student> list=JSON.parseArray(s2, Student.class);
		for(Student stu2:list){
			System.out.println(stu2);
		}
		
		System.out.println("-------------------------------------------");
		
		//List--->json字符串
		List<Student> list2=new ArrayList<>();
		for(int i=0;i<3;i++){
			list2.add(new Student(i+1,"demo"+(i+1),23,"男"));
		}
		
		System.out.println(JSON.toJSONString(list2));
		
		System.out.println("-------------------------------------------");
		
		//Map--->json字符串
		Map<Integer,Student> map=new HashMap<>();
		map.put(1, new Student(4,"小王",20,"男"));
		map.put(2, new Student(5,"小李",21,"女"));
		String s5=JSON.toJSONString(map);
		System.out.println(s5);
		
		System.out.println("-------------------------------------------");
		
		//json字符串--->Map
		Map<Integer,Student> map1=
				(Map<Integer,Student>)JSON.parseObject(s5, Map.class);
		
		System.out.println(map1);
		
		
		//JSONObject 可以提取其中某些值
		JSONObject obj=JSON.parseObject(s1);
		System.out.println(obj.get("name"));
		
		//JSONArray 针对数组进行提取
		JSONArray array=JSON.parseArray(s2);
		System.out.println(array.size());
		

	}

}


输出结果
Student [id=1, name=小明, age=18, sex=男]
-------------------------------------------
{"age":22,"id":2,"name":"小花","sex":"女"}
-------------------------------------------
Student [id=2, name=小红, age=19, sex=女]
Student [id=3, name=小白, age=20, sex=男]
-------------------------------------------
[{"age":23,"id":1,"name":"demo1","sex":"男"},{"age":23,"id":2,"name":"demo2","sex":"男"},{"age":23,"id":3,"name":"demo3","sex":"男"}]
-------------------------------------------
{1:{"age":20,"id":4,"name":"小王","sex":"男"},2:{"age":21,"id":5,"name":"小李","sex":"女"}}
-------------------------------------------
{1={"sex":"男","name":"小王","id":4,"age":20}, 2={"sex":"女","name":"小李","id":5,"age":21}}
小明
2



猜你喜欢

转载自blog.csdn.net/qq_37527943/article/details/84952594