json文件读取和写入。

1.基础知识

170807_h4oG_2352297.png

170808_KTsn_2352297.png

json.jar包下载,需要可以去我的源码下载

2.实例读取

import java.io.FileNotFoundException;
import java.io.FileReader;

import com.google.gson.JsonArray;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;


public class ReadJson {

	public static void main(String[] args) {
	
		try {
			
			//创建对象
			JsonParser parser = new JsonParser();
			//1.通过解析器获取最大的object
			JsonObject object = (JsonObject) parser.parse(new FileReader("test.json"));
			//获取字符串,及布尔类型的数据
			//2.直接包含的属性,可以直接的读取使用get名称和getAsString具体的数值
			System.out.println("cat="+object.get("cat").getAsString());
			System.out.println("pop="+object.get("pop").getAsBoolean());
			//获取数组内容
			//3.便利,获取单独的对象,再获取最大的值
			JsonArray array = object.get("languages").getAsJsonArray();
			for (int i = 0; i < array.size(); i++) {
				System.out.println("----------------");
				//获取下标属性
				JsonObject suObject = array.get(i).getAsJsonObject();
				System.out.println("id="+suObject.get("id").getAsInt());
				System.out.println("name="+suObject.get("name").getAsString());
				System.out.println("ide="+suObject.get("ide").getAsString());

			}
			
		} catch (JsonIOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (JsonSyntaxException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

3.实例创建

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;


public class CreatJson {

	public static void main(String[] args) {

		//创建一个对象
		JsonObject object = new JsonObject();
		//通过addproperty传入键值对及其内容
		object.addProperty("cat", "it");
		//添加数组
		JsonArray array = new JsonArray();
		
		JsonObject lan1 = new JsonObject();
		lan1.addProperty("id",1);
		lan1.addProperty("name", "Java");
		lan1.addProperty("ide", "Eclipse");
		array.add(lan1);
		JsonObject lan2 = new JsonObject();
		lan2.addProperty("id",2);
		lan2.addProperty("name", "Swift");
		lan2.addProperty("ide", "XCode");
		array.add(lan2);
		JsonObject lan3 = new JsonObject();
		lan3.addProperty("id",3);
		lan3.addProperty("name", "C");
		lan3.addProperty("ide", "VC");
		array.add(lan3);
		
		object.add("languages", array);
		
		object.addProperty("pop", true);
		
		System.out.println(object.toString());
	}
}

源码下载:http://pan.baidu.com/s/1i50chiX

转载于:https://my.oschina.net/TAOH/blog/656801

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值