/ / Co oznacza błąd w Androidzie (JSON) Błąd parsowania danych org.json.JSONException: - android, json

Co oznacza błąd w systemie Android (JSON) Błąd podczas analizowania danych org.json.JSONException: - android, json

Błąd podczas analizowania danych org.json.JSONException:

Wartości typu java.lang.String nie można przekonwertować na 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");

Wyjście Myjsona powinno się podobać [[{"0":"2","customer_id":"2"}]]

Inering wyjście przy użyciu php jak

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

Odpowiedzi:

1 dla odpowiedzi № 1

Na twój problem z parsowaniem już odpowiedział @

Jak wywołać obiekt JSON w systemie Android

To jest struna

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

Edytować:

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

Rozbiór gramatyczny zdania

  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 dla odpowiedzi nr 2

Oznacza to po prostu, że Łańcuch (powiedzmy jakiś ciąg) podany jako dane wejściowe do new JSONArray(some_string) nie można przekonwertować na tablicę JSON, ponieważ łańcuch nie jest zgodny z wymaganym formatem tablicy Json. Przykład prawidłowego ciągu tablicy JSON podano poniżej

[{ „tytuł”: „tytuł_1”, „name”: „name_1”}, { „title”: „title_2”, „name”: „name_2”}]