Мне нужно разобрать этот json-файл, но он в таком странном формате. https://rsbuddy.com/exchange/summary.json Я использую Гссона, и я никогда не занимался с Джоном, поэтому я совершенно потерялся.Разбор Json с Gson, массив без []?
"2": {"buy_average": 191, "id": 2, "sell_average": 191, "name": "Cannonball", "overall_average": 191}
После прочтения этого ответа Parsing JSON from URL
я пришел с кодом здесь:
public class AlchemyCalculator {
public static void main(String[] args) throws Exception {
String json = readUrl("https://rsbuddy.com/exchange/summary.json");
Gson gson = new Gson();
Page page = gson.fromJson(json, Page.class);
System.out.println(page.items.size());
for (Item item : page.items)
System.out.println(" " + item.buy_average);
}
private static String readUrl(String urlString) throws Exception {
BufferedReader reader = null;
try {
URL url = new URL(urlString);
reader = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuffer buffer = new StringBuffer();
int read;
char[] chars = new char[1024];
while ((read = reader.read(chars)) != -1)
buffer.append(chars, 0, read);
System.out.println("{items: [" +buffer.substring(1, buffer.length() -1) + "]}");
return "{items: [" +buffer.substring(1, buffer.length() -1) + "]}";
} finally {
if (reader != null)
reader.close();
}
}
static class Item {
int buy_average;
int id;
int sell_average;
String name;
int overall_average;
}
static class Page {
List<Item> items;
}
}
Я не понимаю, как разобрать его, хотя, я видел ответы, которые говорят на настройте иерархию соответствия объектов, но я не вижу, как это сделать здесь.
Заранее благодарим за это, а также извиняюсь заранее за миллионы вопросов Json здесь, и я не могу понять из них.
https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html будет хорошим началом для вас. В документации показаны все доступные методы – Pindo