2012-04-04 6 views
0

JSON-RPC를 사용하고 있습니다. 내가 서버에 요청을 보내면 서버에서 거의 2MB 길이의 응답을받습니다. 데이터에 새로운 줄 문자가 없습니다. 아시다시피, 문자열 내에 2MB의 데이터를 모두 저장할 수 없으므로 파일에 데이터를 써야했습니다.파일의 내용을 검색하고 파일의 일부만 읽는 방법

이 내 파일이 모습입니다 같은 :

[{ "데이터 1": "데이터 1", ...}, {...}, ...]

"{"와 "}"사이의 문자열을 얻는 것과 같이 부분별로 데이터를 읽으므로 1 JSON Object의 정확한 내용을 얻습니다. 그 후에는 데이터를 구문 분석 할 수 있습니다.

나는이 link을 참조했지만, JSON 데이터를 복사하기 위해 "{"및 "}"의 위치를 ​​얻지는 못합니다.

그런 것을 구현할 방법이 있습니까? 또한

com.google.gson.stream.JsonReader.JsonReader

를 사용하고 같은 개체를 컴파일 할 수

Pattern pattern = Pattern.compile("{(.*?)}"); 
Matcher matcher = pattern.matcher(response); 
while(matcher.find()) { 
    String jsonString = "{" + matcher.group(0) +"}" ; 
    //parse the json 
} 

답변

2

:

+0

2Mb 파일을 다운로드하여 램의 json 객체로 변환해야한다면 실제로 할 수 있습니까? – Snicolas

+0

잘 그는 결국 그것을 기억에 저장할 것입니다. 그래서 나는 네라고 말할 것입니다. 그가 임의의 부품을 재사용해야한다면 캐싱 시스템이 더 나은 옵션 일 수 있지만 그와 같은 것은 지정되지 않습니다. 또한 그는 그것을 sqlLite에 직접 저장할 수도 있습니다 – weakwire

+0

나는 캐싱 시스템으로 더 잘할 수 있다고 생각합니다. json의 일부만을 얻으려는 그의 요구 사항은 성취하기가 더 쉬울 것입니다. – Snicolas

0

이 같은 regex pattern

더 많거나 적은 것을 사용한다 서버에서 데이터를 가져옵니다. 문자열에 저장하거나 파일에서 쓰고 읽을 필요가 없습니다.

관련 문제