我试图从flickr api中循环遍历Java中的照片对象数组,但似乎无法将照片数组作为目标,因为它嵌套在具有页面值的json对象中,如下所示。
{
"page" : 1,
"pages" : 10,
"perpage" : 100,
"total" : 1000,
"photo" : [
{photo objects}
]
}
我希望获得照片对象,然后将其传递给照片模型类。
答案 0 :(得分:0)
我不知道您使用的是哪个库,我个人使用的是GSON,并将基于该库创建示例。
这就是我要做的事情:
if(json.has("photo"){
JsonArray photoArray = json.get("photo").getAsJsonArray(); //get the full array
for(int i = 0; i < photoArray.size(); i++){ //loop through all photo objects inside the array
PhotoObject photoObject = photoArray.get(i);
//do something with your objects
}
}
答案 1 :(得分:0)
嘿,您可以尝试这样的事情:
//make the string into a JSONObject
JSONObject obj = new JSONObject("ur Json string");
//get the JSONArray from the object
JSONArray array1 = obj.getJSONArray("photo");
array1
是您的JSON数组。
要获取JSON对象,您可以:
JSONObject photo1 = array1.getJSONObject(0); //get first element in the JSONArray
然后,您可以进行映射以将JSONObject
映射到您自己的Photo
对象。
引用:
JSONObject-https://developer.android.com/reference/org/json/JSONObject.html
JSONArray-https://developer.android.com/reference/org/json/JSONArray.html
答案 2 :(得分:0)
您可以为此使用两个类,
页面值类
a.css
照相课
public partial class FabriCXHeaderType
{
[XmlNamespaceDeclarations()]
public XmlSerializerNamespaces xmlsn
{
get
{
XmlSerializerNamespaces xsn = new XmlSerializerNamespaces();
xsn.Add("h", "http://www.cathaypacific.com/infra/fabricxheader/v2");
return xsn;
}
set
{
}
}
}
在您的主类中,您可以使用以下代码访问照片对象,
class Response {
private int page;
private int pages;
private int perpage;
private int total;
private List<Photo> photo; //List of photo objects
//getters setters
}