J'ai du mal à trouver un moyen d'analyser JSONArray. Cela ressemble à ceci :
[{"name":"name1","url":"url1"},{"name":"name2","url":"url2"},...]
Je sais comment l'analyser si le JSON avait été écrit différemment (en d'autres termes, si j'avais reçu un objet JSON au lieu d'un tableau d'objets). Mais c’est tout ce que j’ai et je dois faire avec.
*EDIT : C'est un json valide. J'ai créé une application iPhone en utilisant ce json, maintenant je dois le faire pour Android et je n'arrive pas à le comprendre. Il y a beaucoup d'exemples, mais ils sont tous liés à JSONObject. J'ai besoin de quelque chose pour JSONArray.
Quelqu'un peut-il me donner un indice, un tutoriel ou un exemple ?
Merci beaucoup !
utilisez l'extrait suivant pour analyser le JsonArray.
JSONArray jsonarray = new JSONArray(jsonStr);
for (int i = 0; i < jsonarray.length(); i++) {
JSONObject jsonobject = jsonarray.getJSONObject(i);
String name = jsonobject.getString("name");
String url = jsonobject.getString("url");
}
J'espère que cela vous aidera.
Créez une classe pour contenir les objets.
public class Person{
private String name;
private String url;
//Get & Set methods for each field
}
Puis désérialisez comme suit :
Gson gson = new Gson();
Person[] person = gson.fromJson(input, Person[].class); //input is your String
Article de référence: http://blog.patrickbaumann.com/2011/11/gson-array-deserialization/
@Stebra Voir cet exemple. Cela peut vous aider.
public class CustomerInfo
{
@SerializedName("customerid")
public String customerid;
@SerializedName("picture")
public String picture;
@SerializedName("location")
public String location;
public CustomerInfo()
{}
}
Et quand vous obtenez le résultat ; parse comme ceci
List<CustomerInfo> customers = null;
customers = (List<CustomerInfo>)gson.fromJson(result, new TypeToken<List<CustomerInfo>>() {}.getType());