如何解析json(item:[{...}])

时间:2018-07-15 16:57:09

标签: json parsing gson

information.json

{
"lastBuildDate": "Mon, 16 Jul 2018 01:28:44 +0900",
"total": 2,
"start": 1,
"display": 2,
"items": [{
    "title": "<b>설빙</b> 경기광명철산점",
    "link": "http://sulbing.com/",
    "category": "카페,디저트>빙수",
    "description": "디저트 카페, 빙수, 토스트, 커피, 스무디, 녹차라떼, 오미자차 등 판매.",
    "telephone": "02-2611-1478",
    "address": "경기도 광명시 철산동 410",
    "roadAddress": "경기도 광명시 오리로856번길 8-1",
    "mapx": "300065",
    "mapy": "542034"
}, {
    "title": "<b>설빙</b> 하안점",
    "link": "",
    "category": "카페,디저트>빙수",
    "description": "경기도 광명시 하안동 위치, 디저트카페, 빙수 전문점.",
    "telephone": "02-899-0503",
    "address": "경기도 광명시 하안동 34-3",
    "roadAddress": "경기도 광명시 하안로 309 세인빌딩",
    "mapx": "301042",
    "mapy": "540690"
}]
}

我想解析这个json文件。

在它们当中,我想解析'items:[{...}]'内容中的内容 但是这些教程没有告诉我该怎么做。

我使用Java,但Kotlin也可以(Android)

gson会删除标签<b> <\b>吗?还是应该删除它?如果是后者怎么办?

2 个答案:

答案 0 :(得分:0)

我已经按照json结构构建了以下类:

class Information{
  public Date lastBuildDate;
  public int total;
  public int start;
  public int display;
  public List<Item> items;
}

class Item{
  public String title;
  public String link;
  public String category;
  public String description;
  public String telephone;
  public String address;
  public String roadAddress;
  public String mapx;
  public String mapy;
}

在此简单的pasre json通过以下方法成为对象之后:

new Gson().fromJson(json, Information.class)

我已将日期从原始json更改为2018-07-16。如果要使用特殊日期格式,则需要实现JsonSerializer<Date>

答案 1 :(得分:0)

似乎您已经在使用gson。
但是,如果可以选择使用其他选项,则可以看看Media Framework
它很好用,并且还支持序列化。这是一些examples
文档仍然不完整,但我认为大多数事情都是自我描述