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
没有给我任何回复:(
我做错了什么,我怎么能改变呢
非常感谢
答案 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");
我相信你拥有的是你所拥有的。