一尘不染

如何在我的Android应用中解码JSON值?

json

大家好,我正在尝试将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"));

阅读 209

收藏
2020-07-27

共1个答案

一尘不染

尝试

 <?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"));
        }
2020-07-27