Хорошо, почему вы заново изобретаете колесо, Google уже сделал это для вас, вы можете сделать это в двух строках кода:
https://github.com/google/gson
Gson gson = new Gson();
MyClass myClass= gson.fromJson(json, MyClass.class);
Извините за задержку с вычислением ваших данных json, и мне и GSON кажется неправильным, что вам лучше использовать что-то вроде:
[
{
"id": 7,
"baseID": 28,
"quoteID": 17,
"base": "BTC",
"quote": "BCN",
"currencyPair": "BTC_BCN"
},
{
"id": 14,
"baseID": 28,
"quoteID": 32,
"base": "BTC",
"quote": "BTS",
"currencyPair": "BTC_BTS"
}
]
Вы использовали объект, в котором есть два объекта.Это не массив, помните, что массив должен иметь скобки.Теперь давайте сделаем это с вышеприведенным json, у нас есть класс MyClass, скажем:
public class MyClass {
int id;
int baseID;
int quoteID;
String base;
String quote;
String currencyPair;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getBaseID() {
return baseID;
}
public void setBaseID(int baseID) {
this.baseID = baseID;
}
public int getQuoteID() {
return quoteID;
}
public void setQuoteID(int quoteID) {
this.quoteID = quoteID;
}
public MyClass(String currencyPair) {
this.currencyPair = currencyPair;
}
public String getBase() {
return base;
}
public void setBase(String base) {
this.base = base;
}
public String getQuote() {
return quote;
}
public void setQuote(String quote) {
this.quote = quote;
}
}
Теперь в вашей деятельности используйте:
Gson gson = new Gson();
String jsonOutput = "[{\"id\":7,\"baseID\":28,\"quoteID\":17,\"base\":\"BTC\",\"quote\":\"BCN\",\"currencyPair\":\"BTC_BCN\"},{\"id\":14,\"baseID\":28,\"quoteID\":32,\"base\":\"BTC\",\"quote\":\"BTS\",\"currencyPair\":\"BTC_BTS\"}]";
MyClass[] posts = gson.fromJson(jsonOutput, MyClass[].class);
Log.v("SteveMoretz", String.valueOf(posts.length));
Вы получите 2 по журналу, что означаеттеперь у вас есть два объекта, которые вы можете использовать там, где захотите.