com.google.gson.JsonNull#INSTANCE源码实例Demo

下面列出了com.google.gson.JsonNull#INSTANCE 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: arcusplatform   文件: FormattedMessageWriter.java
private JsonElement getValue(JsonArray payload, String[] parts, int index) {
   Integer offset = Integer.parseInt(parts[index]);
   JsonElement e = payload.get(offset);
   if(e == null) {
      e = JsonNull.INSTANCE;
   }
   index++;
   if(index == parts.length) {
      return e;
   }
   
   if(e.isJsonObject()) {
      return getValue(e.getAsJsonObject(), parts, index);
   }
   else if(e.isJsonArray()) {
      return getValue(e.getAsJsonArray(), parts, index);
   }
   else {
      return e;
   }
}
 
源代码2 项目: quaerite   文件: AbstractFeatureSerializer.java
JsonElement stringListJsonArr(List<String> strings) {
    if (strings.size() == 0) {
        return JsonNull.INSTANCE;
    } else if (strings.size() == 1) {
        return new JsonPrimitive(strings.get(0));
    } else {
        JsonArray arr = new JsonArray();
        for (String s : strings) {
            arr.add(s);
        }
        return arr;
    }
}
 
源代码3 项目: Migrate2Postgres   文件: Util.java
/**
 * Returns a JSON sub-element from the given JsonElement and the given path
 *
 * @param json - a Gson JsonElement
 * @param path - a JSON path, e.g. a.b.c[2].d
 * @return
 */
public static JsonElement getJsonElement(JsonElement json, String path){

    String[] parts = path.split("\\.|\\[|\\]");
    JsonElement result = json;

    for (String key : parts) {

        key = key.trim();
        if (key.isEmpty())
            continue;

        if (result == null){
            result = JsonNull.INSTANCE;
            break;
        }

        if (result.isJsonObject()){
            result = ((JsonObject)result).get(key);
        }
        else if (result.isJsonArray()){
            int ix = Integer.valueOf(key) - 1;
            result = ((JsonArray)result).get(ix);
        }
        else break;
    }

    return result;
}
 
源代码4 项目: nomulus   文件: AbstractJsonableObject.java
/** Converts an Object to a JsonElement. */
private static JsonElement toJsonElement(String name, Member member, Object object) {
  if (object instanceof Jsonable) {
    Jsonable jsonable = (Jsonable) object;
    verifyAllowedJsonKeyName(name, member, jsonable.getClass());
    return jsonable.toJson();
  }
  if (object instanceof String) {
    return new JsonPrimitive((String) object);
  }
  if (object instanceof Number) {
    return new JsonPrimitive((Number) object);
  }
  if (object instanceof Boolean) {
    return new JsonPrimitive((Boolean) object);
  }
  if (object instanceof DateTime) {
    // According to RFC7483 section 3, the syntax of dates and times is defined in RFC3339.
    //
    // According to RFC3339, we should use ISO8601, which is what DateTime.toString does!
    return new JsonPrimitive(((DateTime) object).toString());
  }
  if (object == null) {
    return JsonNull.INSTANCE;
  }
  throw new IllegalArgumentException(
      String.format(
          "Unknows object type '%s' in member '%s'",
          object.getClass(), member));
}
 
源代码5 项目: helper   文件: GsonTypeSerializer.java
@Override
public JsonElement deserialize(TypeToken<?> type, ConfigurationNode from) throws ObjectMappingException {
    if (from.getValue() == null) {
        return JsonNull.INSTANCE;
    }

    if (from.hasListChildren()) {
        List<? extends ConfigurationNode> childrenList = from.getChildrenList();
        JsonArray array = new JsonArray();
        for (ConfigurationNode node : childrenList) {
            array.add(node.getValue(TYPE));
        }
        return array;
    }

    if (from.hasMapChildren()) {
        Map<Object, ? extends ConfigurationNode> childrenMap = from.getChildrenMap();
        JsonObject object = new JsonObject();
        for (Map.Entry<Object, ? extends ConfigurationNode> ent : childrenMap.entrySet()) {
            object.add(ent.getKey().toString(), ent.getValue().getValue(TYPE));
        }
        return object;
    }

    Object val = from.getValue();
    try {
        return GsonConverters.IMMUTABLE.wrap(val);
    } catch (IllegalArgumentException e) {
        throw new ObjectMappingException(e);
    }
}
 
源代码6 项目: ja-micro   文件: JsonRpcRequestTest.java
@Test
public void getIdAsString_NullJson_Null() {
    // given
    JsonRpcRequest req = new JsonRpcRequest(JsonNull.INSTANCE, "something", null);

    // when
    String result = req.getIdAsString();

    // then
    assertThat(result).isNull();
}
 
源代码7 项目: jmespath-java   文件: GsonRuntime.java
private JsonElement nodeOrNullNode(JsonElement node) {
  if (node == null) {
    return JsonNull.INSTANCE;
  } else {
    return node;
  }
}
 
源代码8 项目: letv   文件: TypeAdapters.java
public JsonElement read(JsonReader in) throws IOException {
    switch (in.peek()) {
        case NUMBER:
            return new JsonPrimitive(new LazilyParsedNumber(in.nextString()));
        case BOOLEAN:
            return new JsonPrimitive(Boolean.valueOf(in.nextBoolean()));
        case STRING:
            return new JsonPrimitive(in.nextString());
        case NULL:
            in.nextNull();
            return JsonNull.INSTANCE;
        case BEGIN_ARRAY:
            JsonElement array = new JsonArray();
            in.beginArray();
            while (in.hasNext()) {
                array.add(read(in));
            }
            in.endArray();
            return array;
        case BEGIN_OBJECT:
            JsonElement object = new JsonObject();
            in.beginObject();
            while (in.hasNext()) {
                object.add(in.nextName(), read(in));
            }
            in.endObject();
            return object;
        default:
            throw new IllegalArgumentException();
    }
}
 
源代码9 项目: JianshuApp   文件: CustomGsonConverterFactory.java
@SuppressWarnings("unchecked")
@Override
public T convert(ResponseBody value) throws IOException {
    if (type.getRawType().equals(String.class)) {
        return (T) value.string();
    }

    JsonElement jsonElement = null;
    T result;
    try {
        // 解析错误时可获取原始JSON
        jsonElement = gson.fromJson(value.charStream(), JsonElement.class);
        if (jsonElement == null) {
            jsonElement = JsonNull.INSTANCE;
        }
        result = adapter.fromJsonTree(jsonElement);
        if (result == null) {
            try {
                result = adapter.fromJson("{}");
            } catch (Exception ignored) {
            }
        }
    } catch (JsonSyntaxException e) {
        throw new JsonParserException(jsonElement, e.getMessage());
    } finally {
        value.close();
    }
    return result;
}
 
源代码10 项目: graphql-spqr   文件: GsonScalars.java
private static JsonElement parseJsonValue(Value value) {
    if (value instanceof BooleanValue) {
        return new JsonPrimitive(((BooleanValue) value).isValue());
    }
    if (value instanceof EnumValue) {
        return new JsonPrimitive(((EnumValue) value).getName());
    }
    if (value instanceof FloatValue) {
        return new JsonPrimitive(((FloatValue) value).getValue());
    }
    if (value instanceof IntValue) {
        return new JsonPrimitive(((IntValue) value).getValue());
    }
    if (value instanceof NullValue) {
        return JsonNull.INSTANCE;
    }
    if (value instanceof StringValue) {
        return new JsonPrimitive(((StringValue) value).getValue());
    }
    if (value instanceof ArrayValue) {
        List<Value> values = ((ArrayValue) value).getValues();
        JsonArray jsonArray = new JsonArray(values.size());
        values.forEach(v -> jsonArray.add(parseJsonValue(v)));
        return jsonArray;
    }
    if (value instanceof ObjectValue) {
        final JsonObject result = new JsonObject();
        ((ObjectValue) value).getObjectFields().forEach(objectField ->
                result.add(objectField.getName(), parseJsonValue(objectField.getValue())));
        return result;
    }
    //Should never happen, as it would mean the variable was not replaced by the parser
    throw new CoercingParseLiteralException("Unknown scalar AST type: " + value.getClass().getName());
}
 
源代码11 项目: flutter-intellij   文件: Element.java
/**
 * A utility method to handle null values and JsonNull values.
 */
String getAsString(String name) {
  final JsonElement element = json.get(name);
  return (element == null || element == JsonNull.INSTANCE) ? null : element.getAsString();
}
 
源代码12 项目: flutter-intellij   文件: Element.java
/**
 * A utility method to handle null values and JsonNull values.
 */
boolean getAsBoolean(String name) {
  final JsonElement element = json.get(name);
  return (element == null || element == JsonNull.INSTANCE) ? false : element.getAsBoolean();
}
 
源代码13 项目: flutter-intellij   文件: Element.java
/**
 * A utility method to handle null values and JsonNull values.
 */
boolean getAsBoolean(String name) {
  final JsonElement element = json.get(name);
  return (element == null || element == JsonNull.INSTANCE) ? false : element.getAsBoolean();
}
 
源代码14 项目: morpheus-core   文件: Json.java
@Override
public JsonElement serialize(ZonedDateTime value, Type type, JsonSerializationContext context) {
    return value == null ? JsonNull.INSTANCE : new JsonPrimitive(formatter.format(value));
}
 
源代码15 项目: jmespath-java   文件: GsonRuntime.java
@Override
public JsonElement createNull() {
  return JsonNull.INSTANCE;
}
 
源代码16 项目: flutter-intellij   文件: Element.java
/**
 * A utility method to handle null values and JsonNull values.
 */
String getAsString(String name) {
  final JsonElement element = json.get(name);
  return (element == null || element == JsonNull.INSTANCE) ? null : element.getAsString();
}
 
源代码17 项目: morpheus-core   文件: Json.java
@Override
public JsonElement serialize(TimeZone value, Type type, JsonSerializationContext context) {
    return value == null ? JsonNull.INSTANCE : new JsonPrimitive(value.getID());
}
 
源代码18 项目: purplejs   文件: AbstractScriptValue.java
@Override
public JsonElement toJson()
{
    return JsonNull.INSTANCE;
}
 
源代码19 项目: quarks   文件: JsonControlService.java
/**
 * Handle a JSON control request.
 * 
 * The control action is executed directly
 * using the calling thread.
 * 
 * @return JSON response, JSON null if the request was not recognized.
 */
public JsonElement controlRequest(JsonObject request) throws Exception {
    if (request.has(OP_KEY))
        return controlOperation(request);

    return JsonNull.INSTANCE;
}
 
源代码20 项目: helper   文件: JsonBuilder.java
/**
 * Returns an instance of {@link JsonNull}.
 *
 * @return a json null instance
 */
public static JsonNull nullValue() {
    return JsonNull.INSTANCE;
}
 
 方法所在类
 同类方法