Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package gittest; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.io.BufferedReader; import java.io.InputStreamReader; import java.lang.reflect.Type; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; /** * * @author Jonas */ public class API { public static void main(String[] args) throws Exception { Gson gson = new Gson(); String json = readUrl("http://www.matapi.se/foodstuff/44"); Response response = gson.fromJson(json, Response.class); HashMap map = createHashMapFromJsonString(json); System.out.println(map.get("name")); // } // System.out.println(response.name); // System.out.println(response.Age); //GsonBuilder builder = new GsonBuilder(); //Object o = builder.create().fromJson(json, Object.class); frameClass f = new frameClass(); } public HashMap<String, Object> getMap { } 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); } return buffer.toString(); } finally { if (reader != null) { reader.close(); } } } static class Response { String name; String Age; } static JsonParser parser = new JsonParser(); public static HashMap<String, Object> createHashMapFromJsonString(String json) { JsonObject object = (JsonObject) parser.parse(json); Set<Map.Entry<String, JsonElement>> set = object.entrySet(); Iterator<Map.Entry<String, JsonElement>> iterator = set.iterator(); HashMap<String, Object> map = new HashMap<String, Object>(); while (iterator.hasNext()) { Map.Entry<String, JsonElement> entry = iterator.next(); String key = entry.getKey(); JsonElement value = entry.getValue(); if (null != value) { if (!value.isJsonPrimitive()) { if (value.isJsonObject()) { map.put(key, createHashMapFromJsonString(value.toString())); } else if (value.isJsonArray() && value.toString().contains(":")) { List<HashMap<String, Object>> list = new ArrayList<>(); JsonArray array = value.getAsJsonArray(); if (null != array) { for (JsonElement element : array) { list.add(createHashMapFromJsonString(element.toString())); } map.put(key, list); } } else if (value.isJsonArray() && !value.toString().contains(":")) { map.put(key, value.getAsJsonArray()); } } else { map.put(key, value.getAsString()); } } } return map; } }