Sto cercando di imparare come usare il parser di jackson, per ottenere un parsing più efficace su dati json. Ho questi file jar: Downloaded from this pageDatabase JacksonParser e causa principale "Trovato file duplicato per APK"?
jackson-core-2.2.0.jar
jackson-annotations-2.2.0.jar
jackson-databind-2.2.0.jar
E nel codice, cerco solo di analizzare un JSON in un array di oggetti:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String json = ReadFromRaw(this, R.raw.json);
ArrayList<Category> categories = null;
try {
ObjectMapper mapper = new ObjectMapper();
categories = mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, Category.class));
// categories = mapper.readValue(json, new TypeReference<List<Category>>() {});
} catch (Exception e) {
Log.e("MainActivity", "Error: " + e.getMessage());
}
SimpleListView myList = (SimpleListView) findViewById(R.id.myList);
myList.setAdapterWithItems(GetAdapter(categories));
}
Non è sicuro se necessario, ma qui è la mia classe Categoria come bene:
@JsonIgnoreProperties({ "DisplayPriority" })
public class Category {
@JsonProperty("Id")
private String categoryId;
@JsonProperty("name")
private String categoryName;
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
}
Tutto sembra ok, non ci sono errori o avvisi. Ma quando provo a compilare, dà questo errore:
[2013-04-25 09:32:08 - Training - JacksonParser] Error generating final archive: Found duplicate file for APK: LICENSE
Origin 1: C:\~\workspace\Training - JacksonParser\libs\jackson-core-2.2.0.jar
Origin 2: C:\~\workspace\Training - JacksonParser\libs\jackson-databind-2.2.0.jar
Per quanto la ricerca di questo errore su google, si dice che c'è qualche classe in comune su questi file jar. E non ho idea di cosa fare ... C'è qualcosa che faccio di sbagliato? O faccio qualcosa che manca?
Grazie in anticipo, qualsiasi aiuto è apprezzato.
1.9.12: core-LGPL, mapper-LGPL questi vasi funzionano, grazie. – yahya
Mi raccomando di non utilizzare le versioni 1.x. Ma prova 2.1.4 invece - è 2.x compatibile. – StaxMan
Dove è possibile trovare il download per le versioni 2.1.x? Vedo solo 2.2 e 1.x cose elencate sul loro sito. –