json解析

json (javascript object notation)轻量级的数据交换格式,一般多用于web服务器和客户端的数据交互

json数据格式分两种:
jsonObject和jsonArray
前者是一种无需的键值对方式存储数据,例如{“name”,”zhou”} key必须为string类型value可以为其他许多类型
后者是一种有序的value集合,类似于数组一样

解析json的两种方法:
以一个Java对象person为例 (id,name)

1. 使用json-lib的包解析
    java Object对象 --- >> json Object
    Person p = new Person(1,"zhou");
    JsonObject jsonObject = new JsonObject();
    jsonObject.put("person", p );           //此方法也可以替换为element

    java Object对象 << ---  json Object
        Perosn p = (Person)json.toBean(jsonObject , Person.class);

    Java集合对象    --- >> json Array
        List<Person> persons = new ArrayList<Person>();
    JsonObject jsonObject = new JsonObject();
        jsonObject.put("persons",persons  );
        JsonArray jsonArray =   jsonObject.getJsonArray("person");

    Java集合对象   << ---  json Array
        List<Person> persons = (List<Person>)jsonArray.toCollection(jsonArray , Person.class);

2. 使用google的Gson解析库解析,使用方便简单,方法很简单,fromJson  toJson
    java Object对象 --- >> json Object
        Gson gson = new Gson();
        JsonObject jsonObject = gson.toJson(person);

    java Object对象 << ---  json Object
        Perosn p = (Person)gson.fromJson(gson.toJson(person), Person.class);

    Java集合对象    --- >> json Array
        List<Person> persons = new ArrayList<Person>();
        Gson gson = new Gson();
        JsonArray jsonArray =   gson.toJson(persons);


    Java集合对象   << ---  json Array
        List<Person> persons = (List<Person>)gson.fromJson(gson.toJson(person), new TypeToken<List<person>>(){}.getType);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气好男人_Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值