Json解析库的使用

      Json的解析库由两种,分别是Google的gson库和阿里巴巴的Fast-json库,下面主要主要介绍这两个库的使用方法。

    (1)gson库的使用方法

/**
     * gson处理json的方式
     * @param result
     */
    private void dealData(String result)
    {
        Gson gson = new Gson();
        Book book = gson.fromJson(result,Book.class);
        Log.d("book", book.getTitle() + "," + book.getPublisher() + "," + book.getTags().size());

        //转化为List集合
        //Type listType = new TypeToken<ArrayList<Book>>() {}.getType();
        //gson.fromJson(result , listType);
    }
       
public class Book {

    private String title;
    private String publisher;
    private String summary;
    private ArrayList<Tag> tags;

    public void setTitle(String title) {
        this.title = title;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public void setTags(ArrayList<Tag> tags) {
        this.tags = tags;
    }

    public String getTitle() {
        return title;
    }

    public String getPublisher() {
        return publisher;
    }

    public String getSummary() {
        return summary;
    }

    public ArrayList<Tag> getTags() {
        return tags;
    }
}

       在dealData函数中传入一个String类型的参数result,这个参数是你获取到的JsonObject类型的数据通过toString方法获取的。Book类是一个标准类型,是将你的Json数据转化为Book类型。要注意的是Book类中的属性必须要和Json数据中的标识一致。

    (2)Fast-json的使用方法

private void dealData2(String result)
    {
        Book book = JSON.parseObject(result , Book.class);

        // 转化为List集合
        //ArrayList<Book> bookList = JSON.parseObject(result , new TypeReference<List<Book>>(){});
        //ArrayList<Book> bookList = JSON.parseArray(result , Book.class);

        // 转化为Json数据格式
        String s = JSON.toJSON(book).toString();

        //转化为Json数据格式
        //List<Book> bookList = new ArrayList<Book>();
        //String s = JSON.toJSON(bookList).toString();

        Log.d("book" , book.getTitle() + "," + book.getPublisher() + "," + book.getSummary());
        Log.d("json" , s);
    }
     Fast-json的使用方法与gson的使用方法了类似,个人比较喜欢用Fast-json,看起来比较舒服。

    以上是我对两种json解析库的理解,推介一个用来格式化Json数据的网站http://www.bejson.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值