JsonWriteとJsonReaderを使用してAndroidアプリケーションを開発しました。これは、これが唯一のすべてではない私のコードJSON配列の読み込みJsonReaderの使用
private ArrayList<StudentListModel> readUser(JsonReader reader) throws IOException {
String rowId = null;
String userId = null;
String userName = null;
StudentListModel model = null;
ArrayList<StudentListModel> userList = new ArrayList<>();
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("rowId")) {
rowId = reader.nextString();
} else if (name.equals("userId")) {
userId = reader.nextString();
} else if (name.equals("userName")) {
userName = reader.nextString();
} else {
reader.skipValue();
}
model = new StudentListModel(rowId, userId, userName);
}
userList.add(model);
reader.endObject();
return userList;
}
上記のコードは、(リストの下)は、第2のリストを返している私のJSON配列
[StudentListModel{rowId='1', userId='User1', userName='Vijil'}, StudentListModel{rowId='2', userId='User2', userName='Dhas'}]
あります。
StudentListModel{rowId='2', userId='User2', userName='Dhas'}
私はループセクションでエラーが発生しました。これを出すのを手伝ってください。
は、今私は以下のコードで固定:今すぐ正しい作業
boolean isRowAdded = false, isIdAdded = false, isNameAdded = false;
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("rowId")) {
rowId = reader.nextString();
isRowAdded = true;
} else if (name.equals("userId")) {
userId = reader.nextString();
isIdAdded = true;
} else if (name.equals("userName")) {
userName = reader.nextString();
isNameAdded = true;
} else {
reader.skipValue();
}
model = new StudentListModel(rowId, userId, userName);
if (isRowAdded && isIdAdded && isNameAdded) {
userList.add(model);
/**
* reset insitial status for next iteration
*/
isRowAdded = false;
isIdAdded = false;
isNameAdded = false;
}
}
が、私はすべての問題に直面して以降で分からないのですか?
このコードを貼り付けhttps://jsonformatter.curiousconcept.com/ ちょうどコピーし、JSONコードとチェックを貼り付けそれは上記のリンク –