android 开发笔计(2)解析json数据

什么是JSON

JSON是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。
可以见 json

将json转换成java对象

解析json的java库很多,我这儿以google的gson为例

  • 引用包 compile 'com.google.code.gson:gson:2.8.0'
  • 分析json数据 这里以https://lovejog.com/api/recent为例子

以下为样例数据(部分片断)

{
  "nextStart":20,
  "topics":[{
    "tid":1,
    "uid":1,
    "title":"跑步音乐-脚步跟着节奏动起来",
    ...

  }]
}

在app/java/com.lovejog.nodebb/下创建如下类

public class Recent {  
    Integer nextStart;
    List<Topic> topics;
}

public class Topic {  
    public Topic() {
    }

    int tid;
    int uid;
    String cid;
    int mainPid;
    String title;
    BigInteger timestamp;
    BigInteger lastposttime;
    int postcount;
    int viewcount;
    Category category;
    User user;
}

Category,User请自己对照json编写,要保持名字和数据类型一致

  • 主要代码,很简单,就几句
  public static Recent parseRecent(String jsonString) {
        Gson gson = new Gson();
        Recent recent = gson.fromJson(jsonString, Recent.class);
        return recent;
 }

以上就是解析json的过程