JsonObject json = new JsonParser().parse("...json string..."); JsonArray data = json.get("data"); JsonArray labels = data.getAsJsonArray(0) for (int i = 1; i < data.size(); i++) { JsonArray points = data.getAsJsonArray(i); // do something with: points.getInt(0) -- x column // do something with: points.getInt(1) -- y column // do something with: points.getInt(2) -- z column }
public Integer countTexts(String lang) { JsonElement jelement = new JsonParser().parse(getJsonData(lang)); JsonObject jobject = jelement.getAsJsonObject(); JsonObject langs = jobject.getAsJsonObject("texts"); JsonArray texts = langs.getAsJsonArray(lang); return texts.getAsJsonArray().size(); }
public static List<Object> getJsonArrayValue(JsonArray jsonArray) { List<Object> list = new ArrayList<>(); for (JsonElement element : jsonArray.getAsJsonArray()) { list.add(resolveJsonElement(element)); } return list; } }
String json = "{\"supplyPrice\": {\n" + " \"CAD\": 78,\n" + " \"CHF\": 54600.78,\n" + " \"USD\": 20735.52\n" + " }}"; Gson gson = new Gson(); JsonObject jsonObject = gson.fromJson(json, JsonObject.class); JsonObject supplyPrice = jsonObject.get("supplyPrice").getAsJsonObject(); Type type = new TypeToken<HashMap<String, Double>>() { }.getType(); HashMap<String, Double> parsedJson = gson.fromJson(supplyPrice, type); JsonArray jsonArray = new JsonArray(); for(String key : parsedJson.keySet()) { JsonObject jo = new JsonObject(); jo.addProperty("name", key); jo.addProperty("value", parsedJson.get(key)); jsonArray.add(jo); } JsonObject result = new JsonObject(); result.add("supplyPrice", jsonArray.getAsJsonArray());
protected Set<IssueDetails> getByQuery(String query) { Set<IssueDetails> issues = new HashSet<IssueDetails>(); String response = null; try { response = get(urlDomain + "/rest/api/2/search?jql=" + URLEncoder.encode(query, "UTF8")); } catch (UnsupportedEncodingException e) { LOG.warn("can't encode query", e); } try { Iterator<JsonElement> itelm = new JsonParser().parse(response).getAsJsonObject().get("issues").getAsJsonArray().getAsJsonArray().iterator(); while (itelm.hasNext()) { issues.add(parseIssue(itelm.next().toString())); } }catch (NullPointerException e){ throw new IllegalStateException("Wrong response.", e); } return issues; }
final Object visitChildAsArray(Type childType, JsonArray jsonChild) { JsonDeserializationVisitor<?> childVisitor = new JsonArrayDeserializationVisitor<Object>(jsonChild.getAsJsonArray(), childType, objectNavigator, fieldNamingPolicy, objectConstructor, deserializers, context); return visitChild(childType, childVisitor); }
/** * Builds a EntityImportView that contains properties from all collection members. * If the first member contains the property A, and the second one contains a property B then a result view will contain * both properties A and B. Views for nested collections (2nd level compositions) are also merged. * @param jsonArray a JsonArray * @param metaClass a metaClass of entities that are in the jsonArray * @return an EntityImportView */ protected EntityImportView buildFromJsonArray(JsonArray jsonArray, MetaClass metaClass) { List<EntityImportView> viewsForArrayElements = new ArrayList<>(); for (JsonElement arrayElement : jsonArray.getAsJsonArray()) { EntityImportView viewForArrayElement = buildFromJsonObject(arrayElement.getAsJsonObject(), metaClass); viewsForArrayElements.add(viewForArrayElement); } EntityImportView resultView = viewsForArrayElements.isEmpty() ? new EntityImportView(metaClass.getJavaClass()) : viewsForArrayElements.get(0); if (viewsForArrayElements.size() > 1) { for (int i = 1; i < viewsForArrayElements.size(); i++) { resultView = mergeViews(resultView, viewsForArrayElements.get(i)); } } return resultView; }
/** * Helper method to assert that keys and values in two JSON arrays are equal. * * @param expectedJson the expected JSON element(s) * @param actualJson the actual JSON element(s) from test result list */ private void assertJsonArrayKeysAndValues(ArrayList<JsonArray> expectedJson, ArrayList<JsonArray> actualJson) { assertEquals(expectedJson.size(), actualJson.size()); for (int i = 0; i < actualJson.size(); i++) { //Check key and values in the JSON array JsonArray expectedJsonArray = expectedJson.get(i).getAsJsonArray(); JsonArray actualJsonArray = actualJson.get(i).getAsJsonArray(); assertEquals(expectedJsonArray.size(), actualJsonArray.size()); Iterator<JsonElement> actualJsonIter = actualJsonArray.iterator(); Iterator<JsonElement> expectedJsonIter = expectedJsonArray.iterator(); while (expectedJsonIter.hasNext()) { JsonElement expectedJsonElement = expectedJsonIter.next(); JsonElement actualJsonElement = actualJsonIter.next(); assertEquals(expectedJsonElement, actualJsonElement); } } }