Gson使用


public class Test {


    public static void main(String[] args) {
        // json数组字符串  转json数组
        String jsonStr = "[{\"a\":\"1\",\"b\":10}, {a:\"11\",\"b\":110}]";
        JsonArray asJsonArray = JsonParser.parseString(jsonStr).getAsJsonArray();
        for (JsonElement jsonElement : asJsonArray) {
            System.out.println("--------");
            System.out.println(jsonElement);
            System.out.println(jsonElement.getAsJsonObject().get("a"));
            System.out.println(jsonElement.getAsJsonObject().get("a").getAsString());
            // 直接使用toString,字符串的时候会有双引号;getAsString会去掉对应双引号
            System.out.println(jsonElement.getAsJsonObject().get("b"));
            System.out.println(jsonElement.getAsJsonObject().get("b").getAsString());
        }

        System.out.println("----------------");
        // json字符串  转json对象
        String jsonStr2 = "{\"c\":\"12\",\"d\":120}";
        JsonObject asJsonObject = JsonParser.parseString(jsonStr2).getAsJsonObject();
        System.out.println(asJsonObject.get("c"));
        System.out.println(asJsonObject.get("c").getAsInt());


        System.out.println("----------------");
        // json字符串  转bean对象
        String jsonStr3 = "{\"name\":\"12\",\"age\":120}";
        Person person = new Gson().fromJson(jsonStr3, Person.class);
        System.out.println(person);

        System.out.println("----------------");
        // bean对象 转json字符串
        Person person1 = new Person();
        person1.setAge(20);
        person1.setName("zhangsan");

        String s = new Gson().toJson(person1);
        System.out.println(person1);
        System.out.println(s);


    }




}

输出

--------
{"a":"1","b":10}
"1"
1
10
10
--------
{"a":"11","b":110}
"11"
11
110
110
----------------
"12"
12
----------------
Person(name=12, age=120)
----------------
Person(name=zhangsan, age=20)
{"name":"zhangsan","age":20}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值