用Android读取PHP编码数组

时间:2015-12-13 12:53:09

标签: php android arrays json

我用PHP创建了一个数组。我需要帮助如何阅读它,使用Android应用程序。

编码数组如下所示:

ExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.execute(new Runnable() {
    public void run() {
        System.out.println("Asynchronous task");
    }
});

我必须能够使用Android应用程序阅读所有这些元素。

使用PHP创建,代码如下:

["id","string 1","string 2","string 3","string 3","string 4"]

你能帮我解决一下这个问题吗?

2 个答案:

答案 0 :(得分:0)

对于您的示例,您可以使用以下代码来解析Android中的响应。我已经硬编码了你在代码中得到的响应,所以你明白了。我也在onCreate of my activity中写了它,你可以在任何适合你的应用的地方写这个。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String strJson="[\"id\",\"string 1\",\"string 2\",\"string 3\",\"string 3\",\"string 4\"]"; // This is your response, with escaped " and used as a String

    try {

        //Get the instance of JSONArray that contains Strings
        JSONArray jsonArray = new JSONArray(strJson);
        for(int i=0; i < jsonArray.length(); i++){
            String data = (String)jsonArray.get(i);
            Log.d("MyData",data);
        }

    } catch (JSONException e) {e.printStackTrace(); // Not a good idea. But left it for now}
}

如果使用过滤器MyData监视logcat,您将找到输出:

D/DATAIS: id
D/DATAIS: string 1
D/DATAIS: string 2
D/DATAIS: string 3
D/DATAIS: string 3
D/DATAIS: string 4

网上有很多教程可以解决如何解析Android中的JSON问题。你可以研究它们以获得更好的想法。

答案 1 :(得分:0)

当我为PHP数组的元素添加名称时,我解决了它:

$res = array();
$res[0] = $data['id'];
$res[1] = $data['string 1'];
$res[2] = $data['string 2'];
$res[3] = $data['string 3'];
$res[4] = $data['string 4'];

在Android方面:

JSONObject  mainObject = new JSONObject(ret);
String str1 = mainObject.optString("1").toString();
String str2 = mainObject.optString("2").toString();
String str3 = mainObject.optString("3").toString();
String str4 = mainObject.optString("4").toString();

谢谢大家的帮助。