Android:如何以不同的方式从json对象获取jsonarray

时间:2012-11-09 07:13:23

标签: android json for-loop

我知道如何从jsonarray获取jsonobject。我正在做下面的代码来获取jsonarray。

JSONObject recvJson = new JSONObject(holder.toString());   
String numberByte= (String) recvJson.get("data");
String ts = (String) recvJson.get("time");
JSONObject temp2 = new JSONObject("{ \"data\" : " + numberByte+ "}");
JSONArray recvJarray = temp2.getJSONArray("data"); 

for (int i = 0; i < recvJarray.length(); i++) 
{
byteArray[i] = (byte) recvJarray.getInt(i); 
}

但是不想使用for-loop,不使用 for-loop 任何其他循环想要检索jsonarray数据值

我该怎么办?我做了google&amp;看到很多论坛,但dint成功地检索数据而不使用for-loop。

例如: I ll be getting 80 - 100 packets of 1024bytes per second from server, I want to retrieve this data & store it into bytearray。通过使用f for-loop,它需要大约300ms到400ms,我在它之间丢失了很多数据包。所以我想用不同的方法。如果有任何想法或解决方案来破解这个。

帮助将不胜感激!!

2 个答案:

答案 0 :(得分:1)

尝试使用gson

它使用java反射将对象转换为json,json转换为使用简单方法的对象

toJson(),fromJson()(它也适用于对象数组和列表)

但你必须为jsons(包含所有字段)编写适当的类

阅读文档。

答案 1 :(得分:1)

您可以使用GSON来解析json对象。解码json数据要快得多,也更容易。 检查这些链接。 Gson1Gson2