/ / Quelle est l'erreur dénote dans Android (JSON) Erreur lors de l'analyse des données org.json.JSONException: - android, json

Qu'est-ce que l'erreur correspond à Android (JSON) Erreur lors de l'analyse des données org.json.JSONException: - android, json

Erreur lors de l'analyse des données org.json.JSONException:

La valeur de type java.lang.String ne peut pas être convertie en JSONArray

JSONArray jsonArray = new JSONArray(result);
JSONArray ja= (JSONArray) jsonArray.get(0);
JSONObject jb = (JSONObject) ja.get(0);
//String firstvalue = jb.getString("0");
int secondvalue = jb.getInt("customer_id");

La sortie de Myjson devrait ressembler [[{"0":"2","customer_id":"2"}]]

Je suis jenerating la sortie en utilisant le php comme

$output[]= $customerid;
print(json_encode($output));

Réponses:

1 pour la réponse № 1

Pour votre problème d'analyse, il a déjà répondu @

Comment appeler l'objet JSON sous Android

C'est une ficelle

String secondvalue = jb.getString("CUSTOMER_ID");
try
{
int value = Integer.parseInt("secondvalue");
Log.i("Customer id",""+value);
}catch(NumberFormatException e)
{
e.printStackTrace();
}

Modifier:

  String myjson = "["
+"["
+"{"
+  " "0": "2","
+  ""CUSTOMER_ID": "2""
+   "}"
+  "]"
+ "]";

Analyse

  try {
JSONArray jsonArray = new JSONArray(myjson);
JSONArray ja= (JSONArray) jsonArray.get(0);
JSONObject jb = (JSONObject) ja.get(0);
String firstvalue = jb.getString("0");
String secondvalue = jb.getString("CUSTOMER_ID");
int value = Integer.parseInt(secondvalue);
Log.i("Customer id",""+value);
Log.i("first value is",firstvalue);
Log.i("second value is",secondvalue);
}catch(NumberFormatException e)
{
e.printStackTrace();
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

0 pour la réponse № 2

Cela signifie simplement que la chaîne (par exemple une chaîne) que vous avez donnée en entrée du new JSONArray(some_string) ne peut pas être converti en tableau JSON car la chaîne ne suit pas le format de tableau json requis. Un exemple de chaîne JSON Array appropriée est donné ci-dessous

[{ "title": "title_1", "nom": "nom_1"}, { "titre": "titre_2", "nom": "nom_2"}]