Json1:使用gson解析、生成json

Json解析:

1.json第三方解析包:json-lib、gson、jackson、fastjson等
2.Google-gson只兼容jdk1.5版本以上;JSON-lib分别支持1.4和1.5
3.性能:Gson > Json-lib

 

包:gson-2.3.jar

特征:

  fromJson():Json-解析->对象(反序列化)
  toJson() :对象-生成->Json(序列化)

示例:

import com.google.gson.Gson;

public class TestGson {
    class Person {
        private String name;
        private int[] power;
        private Horse hs1;
        private Horse[] hs2;

        public Horse getHs1() {
            return hs1;
        }

        public void setHs1(Horse hs1) {
            this.hs1 = hs1;
        }

        public Horse[] getHs2() {
            return hs2;
        }

        public void setHs2(Horse[] hs2) {
            this.hs2 = hs2;
        }

        public int[] getPower() {
            return power;
        }

        public void setPower(int[] power) {
            this.power = power;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    class Horse {
        private String type;

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }
    }

    public static void main(String[] args) {
        String strJson = "{'name':'吕奉先','power':[100,30],'hs1':{'type':'赤兔'},'hs2':[{'type':'乌骓'},{'type':'黄标'}]}";

        Gson g = new Gson();
        
        // Json->对象
        Person p = g.fromJson(strJson, Person.class);
        System.out.println(p.name + ":" + p.power[1]);

        //对象->Json
        p.setName("关羽");
        String json = g.toJson(p);
        System.out.println(json);
    }
}

代码中json字符串的结构化视图:

运行结果:

吕奉先:30
{"name":"关羽","power":[100,30],"hs1":{"type":"赤兔"},"hs2":[{"type":"乌骓"},{"type":"黄标"}]}

 

转载于:https://www.cnblogs.com/AndyHoo/p/6375962.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值