接口 JsonWriter<T>

类型参数:
T - the type being written
函数接口:
这是一个函数接口, 因此可用作 lambda 表达式或方法引用的赋值目标。

@FunctionalInterface public interface JsonWriter<T>
Interface that can be used to write JSON output. Typically used to generate JSON when a dependency on a fully marshalling library (such as Jackson or Gson) cannot be assumed.

For standard Java types, the standard() factory method may be used to obtain an instance of this interface. It supports String, Number and Boolean as well as Collection, Array, Map and WritableJson types. Typical usage would be:

 JsonWriter<Map<String,Object>> writer = JsonWriter.standard();
 writer.write(Map.of("Hello", "World!"), out);
 

More complex mappings can be created using the of(Consumer) method with a callback to configure the JSON members that should be written. Typical usage would be:

 JsonWriter<Person> writer = JsonWriter.of((members) -> {
     members.add("first", Person::firstName);
     members.add("last", Person::lastName);
     members.add("dob", Person::dateOfBirth)
         .whenNotNull()
         .as(DateTimeFormatter.ISO_DATE::format);
 });
 writer.write(person, out);
 

The writeToString(Object) method can be used if you want to write the JSON directly to a String. To write to other types of output, the write(Object) method may be used to obtain a WritableJson instance.

从以下版本开始:
3.4.0
作者:
Phillip Webb, Moritz Halbritter
  • 方法详细资料

    • write

      void write(T instance, Appendable out) throws IOException
      Write the given instance to the provided Appendable.
      参数:
      instance - the instance to write (may be null
      out - the output that should receive the JSON
      抛出:
      IOException - on IO error
    • writeToString

      default String writeToString(T instance)
      Write the given instance to a JSON string.
      参数:
      instance - the instance to write (may be null)
      返回:
      the JSON string
    • write

      default WritableJson write(T instance)
      Provide a WritableJson implementation that may be used to write the given instance to various outputs.
      参数:
      instance - the instance to write (may be null)
      返回:
      a WritableJson instance that may be used to write the JSON
    • withNewLineAtEnd

      default JsonWriter<T> withNewLineAtEnd()
      Return a new JsonWriter instance that appends a new line after the JSON has been written.
      返回:
      a new JsonWriter instance that appends a new line after the JSON
    • withSuffix

      default JsonWriter<T> withSuffix(String suffix)
      Return a new JsonWriter instance that appends the given suffix after the JSON has been written.
      参数:
      suffix - the suffix to write, if any
      返回:
      a new JsonWriter instance that appends a suffixafter the JSON
    • standard

      static <T> JsonWriter<T> standard()
      Factory method to return a JsonWriter for standard Java types. See class-level javadoc for details.
      类型参数:
      T - the type to write
      返回:
      a JsonWriter instance
    • of

      static <T> JsonWriter<T> of(Consumer<JsonWriter.Members<T>> members)
      Factory method to return a JsonWriter with specific member mapping. See class-level javadoc and JsonWriter.Members for details.
      类型参数:
      T - the type to write
      参数:
      members - a consumer, which should configure the members
      返回:
      a JsonWriter instance
      另请参阅: