Gson入门
- 解决json解析
下面是要解析的json
{
"isfamily": 0,
"farm": 6,
"id": "30613135265",
"title": "Fun Express Rainbow Mini Magic Spring Assortment Novelty (50 Piece)",
"ispublic": 1,
"url_s": "https://farm6.staticflickr.com/5609/30613135265_38828eb45e_m.jpg",
"owner": "148272657@N06",
"secret": "38828eb45e",
"height_s": "239",
"server": "5609",
"width_s": "240",
"isfriend": 0
}
这里我们选取id,title,url_s这三个值。新建一个类做model用如下所示:
public class GalleryItem {
@SerializedName("text")
private String mCaption;
@SerializedName("id")
private String mId;
@SerializedName("url_s")
private String mUrl;
...
}
“…”表示mCaption、mId、mUrl三个变量的get和set方法。(Android studio下使用 alt+insert 即可看到彩蛋)
“@SerializedName(xxx)”表示json中对应的key名。如果你的变量和json的key名不一样,就要加这句。
准备工作做好后,接下来就是解析过程了。
Gson gson = new Gson();
GalleryItem item = gson.fromJson(String.valueOf(photoJsonObject), GalleryItem.class);
- 这里的String.valueOf(photoJsonObject)指的是最开始给出的那段json。
- 好了,讲完了。
如果不用Gson解析的话,那就要多写几步
JSONObject photoJsonObject = photoJsonArray.getJSONObject(i);
GalleryItem item = new GalleryItem();
item.setId(photoJsonObject.getString("id"));
item.setCaption(photoJsonObject.getString("title"));
item.setUrl(photoJsonObject.getString("url_s"));
可以看到,当要从json中得到的值有x个,添加的句子也要有x个。
嗯,博客就从这篇开始吧。
PS
- 在Android Studio 下导入gson包操作:
-Ctrl+Alt+Shift+S
-点Dependencies
-点绿色加号,点library dependency
-搜索gson
-找到com.google.code.gson:gson:x.x.x
-点ok即可