Tôi đang cố gắng tìm hiểu cách sử dụng trình phân tích cú pháp jackson, để phân tích cú pháp hiệu quả hơn trên dữ liệu json. Tôi có những file jar: Downloaded from this pageDữ liệu và nguyên nhân cốt lõi của JacksonParser "Tìm thấy tệp trùng lặp cho APK"?
jackson-core-2.2.0.jar
jackson-annotations-2.2.0.jar
jackson-databind-2.2.0.jar
Và trong mã, tôi chỉ cố gắng phân tích một json vào một mảng các đối tượng:
@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));
}
Không chắc nếu cần thiết, nhưng đây là lớp Category tôi như well:
@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;
}
}
Mọi thứ có vẻ ổn, không có lỗi hoặc cảnh báo. Nhưng khi tôi cố gắng biên dịch, nó đưa ra lỗi này:
[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
Khi tôi tìm kiếm lỗi này trên google, nó nói có một số điểm chung trên các tệp jar này. Và tôi không có bất kỳ ý tưởng về những gì để làm như vậy ... Có điều gì đó mà tôi làm sai? Hoặc tôi làm một cái gì đó mất tích?
Cảm ơn trước, mọi trợ giúp đều được đánh giá cao.
1.9.12: core-lgpl, mapper-lgpl Những lọ làm việc, cảm ơn. – yahya
Tôi khuyên bạn nên sử dụng các phiên bản 1.x. Nhưng hãy thử 2.1.4 thay vào đó - nó tương thích với 2.x. – StaxMan
Bạn có thể tìm bản tải xuống cho bản phát hành 2.1.x ở đâu? Tôi chỉ thấy các nội dung 2.2 và 1.x được liệt kê trên trang web của họ. –