java中json格式的字符串和javabean互轉 json形式的對象數組轉成java對象

 用到的是阿里的json  jar包

import com.alibaba.fastjson.JSONObject;

public class TestJson {

	public static void main(String[] args) {
		// json格式的字符串轉javabean
		String jsonString = "{\"username\":\"張三\",\"password\":\"123\",\"sex\":\"男\"}";
		JSONObject jbo = JSONObject.parseObject(jsonString);
		Person req = (Person) JSONObject.toJavaObject(jbo, Person.class);
		String password = req.getPassword();
		System.out.println(password);
		// javabean轉json格式的字符串
		Person person = new Person();
		person.setUsername("李四");
		person.setPassword("456");
		person.setSex("男");
		Object jsonData = JSONObject.toJSON(person);
		System.out.println(jsonData.toString());

	}

}
運行結果:
123
{"password":"456","sex":"男","username":"李四"}

json形式的對象數組轉成java對象

package com.it.fan;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.it.pojo.Grade;
import com.it.pojo.Person;
import com.it.pojo.School;

/**
 * 
 * @Description:
 * @author: fyk
 * @date: 2019年8月20日
 */
public class StringElementArrayToJson {
	public static void main(String[] args) {
		String jsonString = "[{\"username\":\"zhangsan\",\"pwd\":\"123\",\"sex\":\"男\"},{\"username\":\"xiaohong\",\"pwd\":\"456\",\"sex\":\"女\"}]";
		//json格式的對象數組轉成JSONArray
		JSONArray parseArray = JSONArray.parseArray(jsonString);
		//獲得grade數組的大小
		Grade[]grades=new Grade[parseArray.size()];
		for(int i=0;i<parseArray.size();i++){
			//一個對象轉成JSONObject
			JSONObject object = (JSONObject) parseArray.get(i);
			//JSONObject轉成javabean
			Person javaObject = JSONObject.toJavaObject(object, Person.class);
			//person對象放入grade中
			Grade grade = new Grade();
			grade.setPerson(javaObject);
			//往grade書中放入grade
			grades[i]=grade;			
		}
		School school = new School();
		school.setGrade(grades);
		System.out.println(school.toString());
	}

}

用到的java實體類(具體參考如下) 

package com.it.pojo;

import java.util.Arrays;

public class School {
	private Grade[] grade;

	public Grade[] getGrade() {
		return grade;
	}

	public void setGrade(Grade[] grade) {
		this.grade = grade;
	}

	@Override
	public String toString() {
		return "School [grade=" + Arrays.toString(grade) + "]";
	}
	
}
package com.it.pojo;

public class Grade {
	private Person person;

	public Person getPerson() {
		return person;
	}

	public void setPerson(Person person) {
		this.person = person;
	}

	@Override
	public String toString() {
		return "Grade [person=" + person + "]";
	}
	
}
package com.it.pojo;

public class Person {
	private String username;
	private String pwd;
	private String sex;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	@Override
	public String toString() {
		return "Person [username=" + username + ", pwd=" + pwd + ", sex=" + sex + "]";
	}
}
運行結果:
School [grade=[Grade [person=Person [username=zhangsan, pwd=123, sex=男]], Grade [person=Person [username=xiaohong, pwd=456, sex=女]]]]

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章