大家好,我正在尝试将JSON值解码到我的Android应用程序中,但是我不确定我的代码在做什么错…
这是我的PHP文件:
<?php ... echo json_encode($mostrar_player); ... ?>
它将返回以下内容: [“ 1”,“ Admin”,“ 123”,“ Adm”,“消息”,“ 0”]
在我的Android应用程序中,我需要将该值放入一个数组中,我可以选择分隔的值,但是如何?
这是我的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); ?>
迫使成为对象。
然后您可以使用
JSONObject obj = (JSONObject) new JSONTokener(json_string_output).nextValue(); String yourdata= obj.getString("yourdata");
如果你想一个数组试试
<?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")); }