用gson分析解析json实例

本文通过创建 Java 类并使用 Google 的 Gson 库来实现 JSON 的序列化与反序列化过程,展示了如何将 Java 对象转换为 JSON 字符串,并从 JSON 字符串中读取数据。

引用相关jar包


新建文件

Child.java

package gson;

public class Child extends People {
	private int play = 0;

	

	public Child(int eat, String drink, int play) {
		super(eat, drink);
		this.play = play;
	}

	public int getPlay() {
		return play;
	}

	public void setPlay(int play) {
		this.play = play;
	}
	
	
}

People.java

package gson;

public class People {
	public int eat;
	public String drink;
	public People(int eat, String drink) {
		super();
		this.eat = eat;
		this.drink = drink;
	}
	public int getEat() {
		return eat;
	}
	public void setEat(int eat) {
		this.eat = eat;
	}
	public String getDrink() {
		return drink;
	}
	public void setDrink(String drink) {
		this.drink = drink;
	}
}

TestJson.java

package gson;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class TestJson {

	public void start() {
		/**
		 * json
		 */
		try {
			Gson gson = new GsonBuilder().create();
			People p = new People(999, "222");
			String json = gson.toJson(p);
			System.out.println(json);
//			byte rp[] = json.getBytes();
//			for (byte b : rp) {
//				System.out.println(b);
//			}

			String x = "{\"eat\":999,\"drink2\":\"222\",\"drink2\":\"333\"}";
			People p2 = gson.fromJson(x, People.class);
			System.out.println(p2.getDrink() + ", eat " + p2.getEat());
			System.out.println(p2.getDrink() == null);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}

		String systemVersion1 = "/tmp/sd0/C29_MTK6737M_V001_009_2017_03_22";
		String [] x = systemVersion1.split("/");
		for(String i:x){
			System.out.println("split : "+i);
		}
		
		String systemVersion2 = "C29_MTK6737M_V001_009_2017_03_22";
		String[] versionSplit = systemVersion2.split("_");
		for (String y : versionSplit)
			System.out.println("versionSplit : "+y);
	}
}

Main.java

package com.dk.test;

import gson.TestJson;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TestJson json = new TestJson();
		json.start();
	}
}

结果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值