所以我有这段代码,它基本上从 JSON 数组(包含几个对象)中获取一个值并适当地分配它。
// RETRIEVE CAST LIST
JSONArray jCastArr = jObj.getJSONArray("abridged_cast");
Cast person = new Cast();
ArrayList<Cast> castList= new ArrayList<Cast>();
for (int i=0; i < jCastArr.length(); i++) {
JSONObject jpersonObj = jCastArr.getJSONObject(i);
person.castId = (String) jpersonObj.getString("id");
person.castFullName = (String) jpersonObj.getString("name");
castList.add(person);
}
details.castList = castList;
JSON 值(烂番茄)
{
"id": 771267761,
"title": "Riddick",
"year": 2013,
"genres": [
"Action & Adventure",
"Science Fiction & Fantasy"
],
"mpaa_rating": "R",
"runtime": 119,
"critics_consensus": "It may not win the franchise many new converts, but this back-to-basics outing brings Riddick fans more of the brooding sci-fi action they've come to expect.",
"release_dates": {
"theater": "2013-09-06"
},
"ratings": {
"critics_rating": "Rotten",
"critics_score": 57,
"audience_rating": "Upright",
"audience_score": 66
},
"synopsis": "Blah.....",
"posters": {
"thumbnail": "http://content8.flixster.com/movie/11/17/20/11172082_mob.jpg",
"profile": "http://content8.flixster.com/movie/11/17/20/11172082_pro.jpg",
"detailed": "http://content8.flixster.com/movie/11/17/20/11172082_det.jpg",
"original": "http://content8.flixster.com/movie/11/17/20/11172082_ori.jpg"
},
"abridged_cast": [
{
"name": "Vin Diesel",
"id": "162652472",
"characters": [
"Riddick"
]
},
{
"name": "Karl Urban",
"id": "162654704",
"characters": [
"Vaako"
]
},
{
"name": "Jordi Molla",
"id": "364617086",
"characters": [
"Santana"
]
},
{
"name": "Matt Nable",
"id": "771069067",
"characters": [
"Boss Johns"
]
},
{
"name": "Katee Sackhoff",
"id": "459518520",
"characters": [
"Dahl"
]
}
],
"abridged_directors": [
{
"name": "David Twohy"
}
],
"studio": "Universal Classics",
"alternate_ids": {
"imdb": "1411250"
},
"links": {
"self": "http://api.rottentomatoes.com/api/public/v1.0/movies/771267761.json",
"alternate": "http://www.rottentomatoes.com/m/riddick/",
"cast": "http://api.rottentomatoes.com/api/public/v1.0/movies/771267761/cast.json",
"clips": "http://api.rottentomatoes.com/api/public/v1.0/movies/771267761/clips.json",
"reviews": "http://api.rottentomatoes.com/api/public/v1.0/movies/771267761/reviews.json",
"similar": "http://api.rottentomatoes.com/api/public/v1.0/movies/771267761/similar.json"
}
}
问题是当我这样称呼它时
ArrayList<Cast> list = details.castList;
Cast actor = list.get(0);
String temp = actor.castFullName;
longToast(temp);
它总是会返回 Katee Sackhoff(无论它是什么索引位置)。我尝试使用 for 循环对其进行迭代,但我只想保持简单以用于调试目的。