0

JSON-RPC を使用しています。サーバーにリクエストを送信すると、サーバーからほぼ2MBの長さのレスポンスが返されます。データに改行文字はありません。ご存知のように、2MB のデータすべてを文字列内に格納することはできません。データをファイルに書き込む必要がありました。

これは私のファイルがどのように見えるかです:

[{"データ1":"データ1",....},{...},...]

「{」と「}」の間の文字列を取得するように、データを部分的に読み取りたいので、1 つの JSON オブジェクトの正確な内容を取得した後、データを解析できます。

このリンクを参照しましたが、JSON データをコピーするための "{" と "}" の位置が取得されません。

そのようなことを実装する方法はありますか?

4

2 に答える 2

2

使用することもできます

com.google.gson.stream.JsonReader.JsonReader

サーバーからデータを取得したら、オブジェクトをコンパイルします。文字列に保存したり、ファイルから読み書きしたりする必要はありません

于 2012-04-04T12:12:34.090 に答える
0

正規表現パターンを使用する必要があります

多かれ少なかれこのようなもの:

Pattern pattern = Pattern.compile( "{(.*?)}" );
Matcher matcher = pattern.matcher( response );
while( matcher.find() ) {
  String jsonString = "{" + matcher.group( 0 ) +"}" ;
  //parse the json
}
于 2012-04-04T12:09:42.413 に答える