我想解析这个json结构
我启发了这个教程[如何用android中的杰克逊解析json文件] [http://www.tutos-android.com/parsing-json-jackson-android]
"Categorie": [
{
"typecategorie" : "Country",
"valeurcategorie": ["Afghanistan","Albania","Zambia","Zimbabwe"]
},
{
"typecategorie": "Year",
"valeurcategorie": ["1911","1912","1913","1960","1961","1962","1963",,"2054"]
},
{
"typecategorie": "Number",
"valeurcategorie": ["1","2","3","4","5","6","7","8","9","10","11"]
}]
我使用这个类
public class Categorie {
private String typecategorie;
private List<String> valeurcategorie;
public Categorie(){
super();
this.typecategorie = "";
this.valeurcategorie = new ArrayList<String>();
}
public Categorie(String typecategorie,ArrayList<String> valeurcategorie ){
super();
this.typecategorie = typecategorie;
this.valeurcategorie.addAll(valeurcategorie);
}
public List<String> getValCategorie(){
return this.valeurcategorie;
}
public String gettypecategorie(){
return typecategorie;
}
public void settypecategorie(String typecategorie){
this.typecategorie = typecategorie;
}
}
此代码用于加载我的对象
public void LoadJson(String fileName) {
try {
LoadFile(fileName);
// InputStream inputStream = urlConnection.getInputStream();
jp = jsonFactory.createJsonParser(jsonFile);
categories = objectMapper.readValue(jp, Categories.class);
categorieList = categories.get("categorie");
} catch (JsonParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
但我收到此错误代码
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "valeurcategorie" (Class fr.lilperso.worldcupquizz.Categorie), not marked as ignorable
at [Source: /mnt/sdcard/worldCupQuizz/categorie.json; line: 5, column: 24] (through reference chain: fr.lilperso.worldcupquizz.Categorie["valeurcategorie"])
答案 0 :(得分:1)
您需要valeurcategorie
的设定者。将其添加到您的Categories
班级:
public void setValeurcategorie(List<String> valeurcategorie) {
this.valeurcategorie = valeurcategorie;
}
答案 1 :(得分:0)
您正尝试使用
将列表/数组反序列化为单个对象categories = objectMapper.readValue(jp, Categories.class);
如果您使用数组或TypeReference列表,则必须使用Categories [] .class而不是Categories.class。参见