0
我有此JSON嘗試使用傑克遜流API
[{
"id":"1",
"firstname":"X",
"lastname":"y",
"contactnumbers":["905123123"]
},{
"id":"2",
"firstname":"Jo",
"lastname":"Be",
"contactnumbers":["416888888", "951233333"]
}]
,我試圖用下面的代碼
if (jsonParser.nextToken() == JsonToken.START_ARRAY){
if (jsonParser.nextToken() == JsonToken.START_OBJECT){
c = new Person();
while (jsonParser.nextToken() != JsonToken.END_OBJECT){
if (jsonParser.getCurrentName().equals("id")){
c.setId(jsonParser.getValueAsString());
jsonParser.nextToken();
} else if (jsonParser.getCurrentName().equals("firstname")){
c.setFirstName(jsonParser.getValueAsString());
jsonParser.nextToken();
} else if (jsonParser.getCurrentName().equals("lastname")){
c.setLastName(jsonParser.getValueAsString());
jsonParser.nextToken();
} else if (jsonParser.getCurrentName().equals("contactnumbers")){
List<String> s = new ArrayList<String>();
while (jsonParser.nextToken() != JsonToken.END_ARRAY){
s.add(jsonParser.nextValue().asString());
}
}
}
}
if (c != null) {
personList.add(c);
}
}
解析它,但顯然,連我最if
是不是被解析JSON執行。我不知道爲什麼。
由於不執行最外層的情況下,有可能問題出在代碼之前。請添加此代碼。既然你是一個有經驗的用戶,我假設你檢查了相關的對象不是空的或任何...(但它會幫助注意) –
我已將parser.nextToken()設置爲「watch」在我的IDE中。出於這個原因,最外層的條件沒有被執行。這已被刪除。現在我只是在努力解決它:正在努力掙扎 –