0

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をやったことがあり、多くのフォーラムを見ましたが、forループを使用せずにデータを取得することに成功しました.

例: 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 を使用すると、約 300 ミリ秒から 400 ミリ秒かかり、その間に多くのパケットが失われます。だから私は別のアプローチを使用したいと思います。これをクラッキングするためのアイデアまたは解決策があれば。

助けていただければ幸いです!!

4

2 に答える 2

1

gsonを使ってみる

Java リフレクションを使用して、単純なメソッドでオブジェクトを json に、json をオブジェクトに変換します。

toJson(),fromJson() (オブジェクト配列とリストでも機能します)

ただし、jsons の適切なクラスを作成する必要があります (すべてのフィールドを含む)。

ドキュメントを読んでください。

于 2012-11-09T07:20:57.937 に答える
1

GSON を使用して json オブジェクトを解析できます。json データをデコードする方がはるかに高速で簡単です。これらのリンクを確認してください。 Gson1Gson2

于 2012-11-09T07:20:59.893 に答える