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/

发布了5 篇原创文章 · 获赞 0 · 访问量 1869
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览