0

我正在使用 JSON-RPC。当我向服务器发送请求时,我从服务器收到了将近 2MB 长的响应。数据中没有换行符。众所周知,不可能将所有 2MB 数据存储在字符串中,我必须将数据写入文件。

这是我的文件的样子:

[{"data1":"data1",....},{...},...]

我想逐部分读取数据,例如获取“{”和“}”之间的字符串,以便获得 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 回答