Как декодировать значения JSON в приложении Android Aplication?

Привет, ребята, я пытаюсь расшифровать значение JSON в своем приложении для Android, но я не уверен, что я делаю неправильно в своем коде …

Это мой PHP-файл:

<?php ... echo json_encode($mostrar_player); ... ?> 

Который вернет мне что-то вроде этого: [«1», «Admin», «123», «Adm», «messages», «0»]

в моем приложении для Android Мне нужно поместить это значение в массив там, где я могу выбирать значения separeted, но как?

это мой код кода Android:

  EditText campoLogin = (EditText)findViewById(R.id.campo_de_login); EditText campoSenha = (EditText)findViewById(R.id.campo_de_senha); toast("Conectando..."); Conectar Conn = new Conectar("http://website/chat/login.php?login=" + campoLogin.getText() + "&senha=" + campoSenha.getText() ); Log.i("-RESPOSTA-",Conn.response); // HERE IN Conn.response I have my response ["1","Admin","Admin","Admin","affs","0"] String json_str = Conn.response; JSONObject json = new JSONObject(json_str); JSONArray jArray = json.getJSONArray("msg"); //Log.i("JSON",json_data.getString("msg")); 

пытаться

  <?php echo json_encode($mostra_player, JSON_FORCE_OBJECT); ?> 

который заставляет быть объектом.

Затем вы можете получить доступ к нему в java / android с помощью

 JSONObject obj = (JSONObject) new JSONTokener(json_string_output).nextValue(); String yourdata= obj.getString("yourdata"); 

Если вы хотите, чтобы Array попытался

 <?php echo json_encode(array("data" => $mostra_player)); ?> JSONObject json = new JSONObject(responsedata); JSONArray jArray = json.getJSONArray("posts"); for (int i = 0; i < jArray.length(); i++) { JSONObject e = jArray.getJSONObject(i); JSONObject jObject = new JSONObject(e.getString("data")); Log.d("yourdata", jObject.getString("yourdata")); Log.d("moredata", jObject.getString("moredata")); } 

Для достижения этой цели есть несколько вариантов.

Лично мне нравится использовать встроенный парсер JSON в Android

 JSONObject jObject = new JSONObject(result); 

Вы также можете использовать библиотеку json-анализа Google https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html

Также см. Эту ссылку для получения подробной информации о том, как на самом деле разбирать JSON и получать строки, которые вы можете использовать в своей программе. Как разобрать JSON на Android

Я постараюсь ответить: –

  1. В соответствии с вашим кодом у вас есть эта String ["1","Admin","123","Adm","messages","0"] которая явно является jsonarray, но вы разбираетесь как jsonobject в android.

  2. как @Boban сказал, что вы не должны запускать сетевые операции в основном потоке, поэтому избегайте этого.

Теперь, принимая ответ, как то, что я упомянул в 1, вот как вы это сделаете:

 JSONArray jArray=new JSONArray(json_str) String id=jArray.getString(0); String admin=jArray.getString(1); . . . 

Надеюсь, это поможет … и если я ошибаюсь, исправьте меня 🙂

спасибо