Библиотека JSON, которую я использую, - это Gson. У меня возникают трудности формулирования типа данных функционирующую представлять следующую строку JSON:JsonArray и Gson
{
"latestoffers": [
{
"id": "4qXleunwNMCKi8M0q0CuMa",
"price": "534.99",
"firstrecorded_at": 1377808800,
"lastrecorded_at": 1382862800,
"seller": "Newegg",
"availability": "In stock. [BBX: Buy Box]",
"currency": "USD"
},
{
"id": "4xTIQAPySG68IS0CGyOuyO",
"price": "582.41",
"firstrecorded_at": 1380725000,
"lastrecorded_at": 1382862800,
"seller": "Beach Audio",
"currency": "USD"
},
{
"id": "5nW67R2V4CwmE8cwaWsawe",
"price": "578.04",
"firstrecorded_at": 1379524200,
"lastrecorded_at": 1379998900,
"seller": "Beach Audio",
"currency": "USD"
}
],
"offers_count": 6,
"name": "newegg.com",
"recentoffers_count": 2,
"sku": "N82E16834216463",
"url": "http://www.newegg.com/Product/Product.aspx?Item=N82E16834216463"
}
Мой класс данных (до сих пор) выглядит следующим образом, это метод getOfferData(), что я не как закончить. Я также не уверен, является ли JsonArray подходящим элементом JSON для использования?
static class LatestOffers {
Integer offers_count;
String name;
Integer recentoffers_count;
String sku;
String url;
java.util.List<JsonArray> getOfferData() {
List<JsonArray> list = new ArrayList<JsonArray>();
// how do I get parse the 'id', 'price', 'firstrecorded_at' etc. to add them to the ArrayList?
return list;
}
Integer getOffers_count() {
return offers_count;
}
String getName() {
return name;
}
Integer getRecentoffers_count() {
return recentoffers_count;
}
String getSku() {
return sku;
}
String getUrl() {
return url;
}
}
Любая помощь, пожалуйста? Спасибо.
EDIT
Оказывается, я был излишне усложнять, это работает как задумано:
static class LatestOffers {
List<Offer> latestoffers;
List<Offer> getOffer() {
return latestoffers;
}
}
static class Offer {
private String id;
private String price;
private long firstrecorded_at;
private long lastrecorded_at;
private String seller;
private String availability;
private String currency;
String getId() {
return id;
}
String getPrice() {
return price;
}
long getFirstrecorded_at() {
return firstrecorded_at;
}
long getLastrecorded_at() {
return lastrecorded_at;
}
String getSeller() {
return seller;
}
String getAvailability() {
return availability;
}
String getCurrency() {
return currency;
}
}
Спасибо всем, кто ответил, я принимая ответ user2762451 как (s) он первым предложил использовать другой класс для данных Предложения.
Спасибо за это, user2762451. Я понимаю, что до сих пор проблема для меня заключается в том, как разбирать JSON, чтобы получить идентификатор, цену, firstRecordedAt и т. Д. - суть в том, что (в отличие от sku, url и т. Д.) Нет ключевого значения, которое я могу использовать получить предложение? –
@ClivevanHilten 'latestOffers' - это список, эффективно элементы массива и массива в JSON не будут иметь« ключ »как таковой. что вы точно хотите сделать, когда говорите, «ключевое значение, которое я могу использовать для извлечения предложения»? – aasu
Я не знаю, как получить массивы, содержащие id, price, firstRecordedAt и т. Д., Чтобы добавить их в список? –