Json学习

定义三个json字符串

	- 本文主要介绍了json对象与java对象从简单到复杂之间的转换

import java.util.Arrays;
import java.util.List;

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

public class TestJson {

public static void main(String[] args) {

	final String  jsonStr = "{\"birdName\":\"bage\",\"birdAge\":2}";
	final String  jsonStrArr = "[{\"birdName\":\"bage\",\"birdAge\":2},{\"birdName\":\"yanzi\",\"birdAge\":5}]";
	final String  jsonStrComplex = "{\"ownName\":\"david\",\"ownAge\":27,\"animal\":{\"animalName\":\"bird\",\"code\":1},\"birds\":[{\"birdName\":\"bage\",\"birdAge\":2},{\"birdName\":\"yanzi\",\"birdAge\":5}]}";
	
	JSONObject jsonObject = JSONObject.parseObject(jsonStr);
	System.out.println("{"+jsonObject.getString("birdName")+":"+jsonObject.getString("birdAge")+"}");
	
	JSONArray jsonArray = JSONArray.parseArray(jsonStrArr);
	int size = jsonArray.size();
    for (int i = 0; i < size; i++) {
    	JSONObject obj = (JSONObject) jsonArray.get(i);
    	System.out.println("["+obj.get("birdName")+","+obj.get("birdAge")+"]");
    }
    
    JSONObject jsonObjectComplex = JSONObject.parseObject(jsonStrComplex);
    System.out.println("ownName:"+jsonObjectComplex.getString("ownName")+","+"ownAge:"+jsonObjectComplex.getString("ownAge"));
    JSONObject jsonObjectAnimal = jsonObjectComplex.getJSONObject("animal");
    System.out.println("animalName:"+jsonObjectAnimal.getString("animalName")+","+"code:"+jsonObjectAnimal.getInteger("code"));
    JSONArray array = jsonObjectComplex.getJSONArray("birds");
    for (Object object : array) {
    	 JSONObject jsonObjectone = (JSONObject) object;
    	 System.out.println("["+jsonObjectone.getString("birdName")+","+jsonObjectone.getString("birdAge")+"]");
	}
    
    System.out.println("json to java object");
    Bird bird = JSONObject.parseObject(jsonStr, Bird.class);
    System.out.println(bird);
    
    List<Bird> birdList = JSONArray.parseArray(jsonStrArr, Bird.class);
    for (Bird bird2 : birdList) {
		System.out.println(bird2);
	}
    
    Ower ower = JSONObject.parseObject(jsonStrComplex,  Ower.class);
    System.out.println(ower);
}

}

class Bird {

String birdName;
Integer birdAge;

public String getBirdName() {
	return birdName;
}
public void setBirdName(String birdName) {
	this.birdName = birdName;
}
public Integer getBirdAge() {
	return birdAge;
}
public void setBirdAge(Integer birdAge) {
	this.birdAge = birdAge;
}

[@Override](https://my.oschina.net/u/1162528)
public String toString() {
	return this.getBirdName()+" "+this.getBirdAge();
}

}

class Ower {

String ownName;
Integer ownAge;
Animal animal;
Bird birds[];

public String getOwnName() {
	return ownName;
}
public void setOwnName(String ownName) {
	this.ownName = ownName;
}
public Integer getOwnAge() {
	return ownAge;
}
public void setOwnAge(Integer ownAge) {
	this.ownAge = ownAge;
}
public Animal getAnimal() {
	return animal;
}
public void setAnimal(Animal animal) {
	this.animal = animal;
}
public String getBirds() {
	return Arrays.toString(birds);
}
public void setBirds(Bird[] birds) {
	this.birds = birds;
}

[@Override](https://my.oschina.net/u/1162528)
public String toString() {
return "{"+this.getOwnName()+","+this.getOwnAge()+","+this.getAnimal()+" "+this.getBirds()+"}";
}

}

class Animal {

String animalName;
Integer code;

public String getAnimalName() {
	return animalName;
}
public void setAnimalName(String animalName) {
	this.animalName = animalName;
}
public Integer getCode() {
	return code;
}
public void setCode(Integer code) {
	this.code = code;
}

[@Override](https://my.oschina.net/u/1162528)
public String toString() {
	return "{"+this.getAnimalName()+","+this.getCode()+"}";
}

}

转载于:https://my.oschina.net/yutaodev/blog/2208629

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值