Получение этой ошибки org.json.JSONException: значение в 0 типа java.lang.String не может быть преобразовано в разбор JSONObjecton - PullRequest
1 голос
/ 04 апреля 2019

Я получаю эту ошибку при разборе JSON. Может кто-нибудь помочь мне решить эту проблему.

  {
"website": [
    "http://www.example.com",
    "https://buy.example.com"
],
"number": [
    "4546",
    "54256456"
],
"email": [
    "exam@gmail.com",
    "example@gmail.com"
],
"address": [
    "any adddress here",
    "Address 2"
]
  }

Кто-нибудь поможет мне, как именно разобрать этот JSON ...

код анализа Json

             String JSON_STRING = response.body().string();
                    Log.e("json_string", JSON_STRING.toString());
                    //Toast.makeText( getApplicationContext(), "Response : "+JSON_STRING, Toast.LENGTH_LONG ).show();

                    JSONObject object = new JSONObject( JSON_STRING );
                    JSONArray jsonArray = object.getJSONArray( "website" );

                        for (int i=0; i<jsonArray.length(); i++)
                        {
                            JSONObject website = jsonArray.getJSONObject( i );
                            Log.e("website", website.toString());
                        }

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

попробуйте этот код

 try {
        JSONObject jsonObject = new JSONObject(json);
        JSONArray websites = jsonObject.getJSONArray("website");
        for (int i = 0; i < websites.length(); i++) {
            Log.d("TAG", websites.getString(i));
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
1 голос
/ 05 апреля 2019
// for email array and response variable is your jsonObject coming from server
JSONArray jsonArray = response.getJSONArray("email")
for(int i = 0; i < jsonArray.length(); i++){
   //get email one by one 
   String email = jsonArray.getString(i)
}

Дайте мне знать, если он работает.

...