구문 분석이 내 JSON 배열입니다 :루프는 파괴되지 않는다 - JSON은 GSON
36 100 "The 3n + 1 problem" 56717
:
[
[ 36,
100,
"The 3n + 1 problem",
56717,
0,
1000000000,
0,
6316,
0,
0,
88834,
0,
45930,
0,
46527,
5209,
200860,
3597,
149256,
3000,
1
],
[
........
],
[
........
],
.....// and almost 5000 arrays like above
]
I에 넣었다 배열의 첫 번째 네 개의 값이 필요하고 같은 값의 나머지 부분을 건너 뛰려면
그리고 이것은 내가 지금까지 쓴 코드 :
reader.beginArray();
while (reader.hasNext()) {
reader.beginArray();
while (reader.hasNext()) {
System.out.println(reader.nextInt() + " " + reader.nextInt()
+ " " + reader.nextString() + " "
+ reader.nextInt());
for (int i = 0; i < 17; i++) {
reader.skipValue();
}
reader.skipValue();
}
reader.endArray();
System.out.println("loop is break"); // this is not printed as the inner loop is not breaking
}
reader.endArray();
reader.close();
은 내가 예상대로 인쇄된다
36 100 "The 3n + 1 problem" 56717
.................................
..................................
1049 10108 The Mosquito Killer Mosquitos 49
1050 10109 Solving Systems of Linear Equations 129
1051 10110 Light, more light 9414
1052 10111 Find the Winning Move 365
이것은 작동하지만 내부 루프가 올바르게 손상되지 않습니다. 내 코드에 어떤 문제가 있습니까? 내 코드가 작동하지 않도록 내가 놓친 부분이 있습니까?
편집 :이 솔루션 결국 (솔루션) : 당신은 hasNext()가 false를 돌려 주었을 경우 skipValue() 또는 * 다음에 전화하지 않으
reader.beginArray();
while (reader.hasNext()) {
reader.beginArray();
// read and parse first four elements, checking hasNext() each time for robustness
int a = reader.nextInt();
int b = reader.nextInt();
String c = reader.nextString();
int d = reader.nextInt();
System.out.println(a + " " + b + " " + c + " " + d);
while (reader.hasNext())
reader.skipValue();
reader.endArray();
}
reader.endArray();
Java에서 json을 읽는 데 사용할 라이브러리를 지정해주십시오. –
구글에 의해'GSON'입니다 –