jason by gson复习

把gson-x.x.x.jar添加到工程。
jason读:

test.json

  {
    "cat":"it",
    "languages":[
        {"id":1,"ide":"eclipse","name":"java"},
        {"id":2,"ide":"xcode","name":"swift"},
        {"id":3,"ide":"visual studio","name":"c#"}
    ],
    "pop":true
}  

java代码读取json文件:

package test;

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 ReadJason {

    public static void main(String[] args) {
        try {
            JsonParser parser= new JsonParser();
            JsonObject object=(JsonObject) parser.parse(new FileReader("test.json"));
            System.out.println("cat="+object.get("cat").getAsString());
            System.out.println("pop="+object.get("pop").getAsBoolean());

            JsonArray array=object.get("languages").getAsJsonArray();
            for(int i=0;i<array.size();i++){
                System.out.println("------------");
                JsonObject subObject=array.get(i).getAsJsonObject();
                System.out.println("id="+subObject.get("id").getAsInt());
                System.out.println("name="+subObject.get("name").getAsString());
                System.out.println("ide="+subObject.get("ide").getAsString());
            }
        } catch (JsonIOException e) {
            e.printStackTrace();
        } catch (JsonSyntaxException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

}

结果输出:

cat=it
pop=true
------------
id=1
name=java
ide=eclipse
------------
id=2
name=swift
ide=xcode
------------
id=3
name=c#
ide=visual studio

json写出上式test.json文件:注意jre不可过低,否则部分方法出问题。

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

public class JsonWrite {
    public static void main(String[] args) {
        JsonObject object =new JsonObject();
        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", "visual studio");
        array.add(lan3);

        object.add("languages",array);
        object.addProperty("pop",true);
        System.out.println(object.toString());

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值