如何解码Android中的数组元素数组

时间:2012-06-11 23:01:38

标签: android arrays json

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没有给我任何回复:(
我做错了什么,我怎么能改变呢 非常感谢

1 个答案:

答案 0 :(得分:1)

如果从调用新的JSONObject(结果)开始怎么办?然后拉出一个阵列?我怀疑你是在尝试从一个不是数组的东西中拉出一个数组。你的PHP不应该返回包含在[]中的东西它应该返回它包裹在{} ...我相信你的第三个JSON元素(数组本身)只是挂着没有标签,我认为这是非法的。

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

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

你的java是这样的:

JSONObject j = new JSONObject(result);

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

我相信你拥有的是你所拥有的。