0

PHP 脚本正在向 Android 应用程序发送以下格式的一些数据

[{"event_id":"4","message":"test"},["person1","person2"]]

我想将这个数组中的 2 个元素精确到其他数组中,这样我就可以轻松地操作数据。我已经到了将来自服务器的上述响应转换为字符串的地步。我似乎无法将数据解析为数组。我正在尝试以下几行:

receivedData = new JSONArray(result); //result is the string response from the server  
JSONArray array1= receivedData.getJSONArray(0);  
JSONArray array2= receivedData.getJSONArray(1);  
int len = array1.length();

len没有给我任何回报:(
我做错了什么,我该如何改变它。
非常感谢

4

1 回答 1

1

如果你从调用 new JSONObject(result); 开始呢?然后从中拉出一个数组?我怀疑你正试图从不是数组的东西中拉出一个数组。您的 PHP 不应返回包含在 [ ] 中的内容,而应返回包含在 { } 中的内容……我相信您的第三个 JSON 元素(数组本身)只是在没有标签的情况下徘徊,我认为这是非法的。

所以...如果你的 php 产生了这个:

 {"event_id":"4","message":"test"},"people": ["person1","person2"]}

你的java是这样的:

JSONObject j = new JSONObject(result);

String [] people = j.getJSONArray("people");

我相信你会得到你所追求的。

于 2012-06-11T23:06:01.193 回答