Refine search
@Override public void userDelete(String[] userids) throws WxErrorException { String url = "https://qyapi.weixin.qq.com/cgi-bin/user/batchdelete"; JsonObject jsonObject = new JsonObject(); JsonArray jsonArray = new JsonArray(); for (int i = 0; i < userids.length; i++) { jsonArray.add(new JsonPrimitive(userids[i])); } jsonObject.add("useridlist", jsonArray); post(url, jsonObject.toString()); }
MaterialMetadata metadata = new MaterialMetadata(); JsonObject obj = json.getAsJsonObject(); if (obj.has("shader")) { metadata.shader = obj.getAsJsonPrimitive("shader").getAsString(); if (obj.has("params") && obj.get("params").isJsonObject()) { JsonObject params = obj.get("params").getAsJsonObject(); for (Map.Entry<String, JsonElement> prop : params.entrySet()) { if (prop.getValue().isJsonPrimitive()) { if (prop.getValue().getAsJsonPrimitive().isString()) { Optional<? extends Texture> texture = assetManager.getAsset(prop.getValue().getAsString(), Texture.class); if (texture.isPresent()) { metadata.textures.put(prop.getKey(), texture.get()); } else if (prop.getValue().getAsJsonPrimitive().isNumber()) { metadata.floatParams.put(prop.getKey(), prop.getValue().getAsFloat()); } else if (prop.getValue().getAsJsonPrimitive().isBoolean()) { metadata.intParams.put(prop.getKey(), (prop.getValue().getAsBoolean()) ? 1 : 0); } else if (prop.getValue().isJsonArray()) { JsonArray array = prop.getValue().getAsJsonArray(); float[] result = new float[array.size()]; boolean valid = true; for (int i = 0; i < array.size(); ++i) { if (!array.get(i).isJsonPrimitive() || !array.get(i).getAsJsonPrimitive().isNumber()) { valid = false; break;
public Object unwrap(final Object o) { if (o == null) { return null; } if (!(o instanceof JsonElement)) { return o; } JsonElement e = (JsonElement) o; if (e.isJsonNull()) { return null; } else if (e.isJsonPrimitive()) { JsonPrimitive p = e.getAsJsonPrimitive(); if (p.isString()) { return p.getAsString(); } else if (p.isBoolean()) { return p.getAsBoolean(); } else if (p.isNumber()) { return unwrapNumber(p.getAsNumber()); } } return o; }
private void setBoolean(Consumer<Boolean> setter, JsonObject jsonObject, String name) { JsonPrimitive primitive = jsonObject.getAsJsonPrimitive(name); if (primitive != null && primitive.isBoolean()) { setter.accept(primitive.getAsBoolean()); } }
private void setInt(Consumer<Integer> setter, JsonObject jsonObject, String name) { JsonPrimitive primitive = jsonObject.getAsJsonPrimitive(name); if (primitive != null && primitive.isNumber()) { setter.accept(primitive.getAsInt()); } }
private void setFloat(Consumer<Float> setter, JsonObject jsonObject, String name) { JsonPrimitive primitive = jsonObject.getAsJsonPrimitive(name); if (primitive != null && primitive.isNumber()) { setter.accept(primitive.getAsFloat()); } }
private static JsonArray normalizeSortClause(JsonObject queryObject) { JsonArray sortArray; if (queryObject.has("sort")) { JsonElement sortElement = queryObject.get("sort"); if (sortElement.isJsonArray()) { sortArray = sortElement.getAsJsonArray(); } else if (sortElement.isJsonObject()) { sortArray = new JsonArray(); sortArray.add(sortElement.getAsJsonObject()); } else if (sortElement.isJsonPrimitive() && sortElement.getAsJsonPrimitive().isString()) { String sortField = sortElement.getAsString(); sortArray = new JsonArray(); queryObject.add("sort", sortArray); String order; if ("_score".equals(sortField)) { JsonObject sortOrder = new JsonObject(); sortOrder.add("order", new JsonPrimitive(order)); JsonObject sortDefinition = new JsonObject(); sortDefinition.add(sortField, sortOrder);
JsonObject jsonObject = new JsonObject(); jsonObject.addProperty(jsonKey, (Boolean) jsonValue); } else if (jsonValue instanceof Number) { jsonObject.addProperty(jsonKey, (Number) jsonValue); } else if (jsonValue instanceof String) { jsonObject.addProperty(jsonKey, (String) jsonValue); String jsonString = new Gson().toJson(jsonObject); return jsonString.substring(1, jsonString.length() - 1); }; try { JsonElement jsonElement = new JsonParser().parse(jsonString); Map.Entry keyValuePair = jsonElement.getAsJsonObject().entrySet().iterator().next(); } else { JsonPrimitive jsonValue = (JsonPrimitive) keyValuePair.getValue(); if (jsonValue.isBoolean()) { parsedNode = new JsonTreeValue(jsonKey, jsonValue.getAsBoolean(), JsonTreeValue.Type.KEY_VALUE_PAIR); } else if (jsonValue.isNumber()) { parsedNode = new JsonTreeValue(jsonKey, jsonValue.getAsNumber(), JsonTreeValue.Type.KEY_VALUE_PAIR); } else { parsedNode = new JsonTreeValue(jsonKey, jsonValue.getAsString(), JsonTreeValue.Type.KEY_VALUE_PAIR);
JsonElement e = parser.parse(jsonString); if (e.isJsonObject()) { JsonObject o = e.getAsJsonObject(); if (o.has(TICKET)) { if (o.has(RPT)) { String rptValue = o.get(RPT).getAsString(); incomingRpt = tokenService.readAccessToken(rptValue); c.addProperty("friendly_name", claim.getFriendlyName()); c.addProperty("claim_type", claim.getClaimType()); JsonArray f = new JsonArray(); for (String format : claim.getClaimTokenFormat()) { f.add(new JsonPrimitive(format)); c.add("claim_token_format", f); JsonArray i = new JsonArray(); for (String issuer : claim.getIssuer()) { i.add(new JsonPrimitive(issuer)); c.add("issuer", i);
/** * Update the checksums of the downloaded components. This will avoid the need to download them in * the future. */ private void writeLocalChecksums(List<Component> components) throws IOException { JsonObject results = new JsonObject(); try { JsonParser parser = new JsonParser(); try (FileReader reader = new FileReader(getChecksumFile())) { results = parser.parse(reader).getAsJsonObject(); } } catch (FileNotFoundException e) { // ignored } for (Component component : components) { results.add(component.getId(), new JsonPrimitive(component.getChecksum())); } try (Writer writer = new FileWriter(getChecksumFile())) { new Gson().toJson(results, writer); } } }
@Test public void shouldIgnoreWhenJsonHasUnknownElements() { Map<String,T> examples = getExamples(); for(Map.Entry<String,T> example : examples.entrySet()) { T value = example.getValue(); JsonObject jsonObject = (JsonObject)gson.toJsonTree(value); jsonObject.add("extraProperty", new JsonPrimitive("This is not part of message type")); String json = gson.toJson(jsonObject); T deserializedValue = (T)gson.fromJson(json,value.getClass()); assertThat(String.format("Example %s - Deserialized value should equal to value before serialization", example.getKey()), deserializedValue, is(value)); } }
private static JsonObject normalizeSourceClause(JsonObject queryObject) { JsonObject sourceObject; if (queryObject.has("_source")) { JsonElement sourceElement = queryObject.get("_source"); if (sourceElement.isJsonObject()) { sourceObject = sourceElement.getAsJsonObject(); } else if (sourceElement.isJsonArray()) { // in this case, the values of the array are includes sourceObject = new JsonObject(); queryObject.add("_source", sourceObject); sourceObject.add("includes", sourceElement.getAsJsonArray()); } else if (sourceElement.isJsonPrimitive() && sourceElement.getAsJsonPrimitive().isBoolean()) { // if _source is a boolean, we override the configuration with include/exclude sourceObject = new JsonObject(); } else { throw new JsonSyntaxException("_source must be an object, an array or a boolean"); } } else { sourceObject = new JsonObject(); } queryObject.add("_source", sourceObject); return sourceObject; }
@Override public BookPage deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { JsonObject obj = json.getAsJsonObject(); JsonPrimitive prim = (JsonPrimitive) obj.get("type"); String type = prim.getAsString(); Class<? extends BookPage> clazz = ClientBookRegistry.INSTANCE.pageTypes.get(type); if(clazz == null) clazz = PageTemplate.class; BookPage page = SerializationUtil.RAW_GSON.fromJson(json, clazz); page.sourceObject = obj; return page; }
@Test public void otherAttributes() { String json = "{\"a\":1,\"b\":\"B\",\"c\":true,\"d\":null}"; OtherAttributes o = gsonWithOptions.fromJson(json, OtherAttributes.class); check(o.rest().get("c")).is(new JsonPrimitive(true)); check(o.rest().get("d")).is(JsonNull.INSTANCE); check(gsonWithOptions.toJson(o)).is(json); }
Gson gson = new Gson(); JsonArray array = new JsonArray(); array.add(new JsonPrimitive("one")); array.add(new JsonPrimitive("two")); array.add(new JsonPrimitive("three")); JsonObject jsonObject = new JsonObject(); jsonObject.add("main", array);; System.out.println(gson.toJson(jsonObject));
if (json.isJsonPrimitive()) { JsonPrimitive primitive = json.getAsJsonPrimitive(); if (primitive.isBoolean()) { return new JsonTree(new JsonTreeValue(name, json.getAsBoolean(), name != null ? JsonTreeValue.Type.KEY_VALUE_PAIR : JsonTreeValue.Type.VALUE)); } else if (primitive.isNumber()) { return new JsonTree(new JsonTreeValue(name, json.getAsNumber(), name != null ? JsonTreeValue.Type.KEY_VALUE_PAIR : JsonTreeValue.Type.VALUE)); } else if (primitive.isString()) { return new JsonTree(new JsonTreeValue(name, json.getAsString(), name != null ? JsonTreeValue.Type.KEY_VALUE_PAIR : JsonTreeValue.Type.VALUE)); JsonTree tree = new JsonTree(new JsonTreeValue(name, null, JsonTreeValue.Type.ARRAY)); JsonArray array = json.getAsJsonArray(); for (int i = 0; i < array.size(); i++) { tree.addChild(serialize(array.get(i))); JsonTree tree = new JsonTree(new JsonTreeValue(name, null, JsonTreeValue.Type.OBJECT)); JsonObject object = json.getAsJsonObject(); for (Map.Entry<String, JsonElement> entry : object.entrySet()) { tree.addChild(serialize(entry.getKey(), entry.getValue()));
if (root.has("id")) { builder.id(root.get("id").getAsString()); JsonElement value = root.get(VALUE_PROPERTY); if (value == null) { throw new JsonParseException(String.format("%s not found for %s in JSON", VALUE_PROPERTY, type)); if (value.isJsonObject()) { final String valueTypeName = value.getAsJsonObject().get(Holder.TYPE_PROPERTY).getAsString(); try { Class<?> valueType = Class.forName(valueTypeName); builder.value(context.deserialize(value, valueType)); } catch (ClassNotFoundException e) { throw new JsonParseException(String.format("Couldn't construct value class %s for %s", valueTypeName, type), e); } else if (value.isJsonPrimitive()) { final JsonPrimitive primitive = value.getAsJsonPrimitive(); if (primitive.isString()) { builder.value(primitive.getAsString()); } else if (primitive.isNumber()) { builder.value(primitive.getAsInt()); } else if (primitive.isBoolean()) { builder.value(primitive.getAsBoolean()); throw new JsonParseException( String.format("Couldn't deserialize %s : %s. Not a primitive or object", VALUE_PROPERTY, value));
throw new MaxDepthException(); if (json.isJsonNull()) return Memory.NULL; if (json.isJsonPrimitive()) { JsonPrimitive jsonPrimitive = json.getAsJsonPrimitive(); if (jsonPrimitive.isString()) return StringMemory.valueOf(jsonPrimitive.getAsString()); else if (jsonPrimitive.isBoolean()) return jsonPrimitive.getAsBoolean() ? Memory.TRUE : Memory.FALSE; else if (jsonPrimitive.isNumber()) { Memory l = StringMemory.toLong(jsonPrimitive.getAsString()); if (l != null) return l; ArrayMemory array = assoc ? new ArrayMemory() : stdClass.getProperties(); for(Map.Entry<String, JsonElement> el : jsonObject.entrySet()){ String key = el.getKey();
@Override public void print(Collection<TableModel> models) { Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonObject jsonRoot = new JsonObject(); if (file != null) { jsonRoot.add("file", new JsonPrimitive(file.toString())); } models.forEach(model -> { jsonRoot.add(model.name().toLowerCase(), tableToJson(model.table(), gson)); }); gson.toJson(jsonRoot, out); }
@Override public UIWidget deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { if (json.isJsonPrimitive() && json.getAsJsonPrimitive().isString()) { return new UILabel(json.getAsString()); JsonObject jsonObject = json.getAsJsonObject(); String type = jsonObject.get(TYPE_FIELD).getAsString(); ClassMetadata<? extends UIWidget, ?> elementMetadata = nuiManager.getWidgetMetadataLibrary().resolve(type, ModuleContext.getContext()); if (elementMetadata == null) { if (jsonObject.has(ID_FIELD)) { id = jsonObject.get(ID_FIELD).getAsString();