Class Payload.JsonPayload

  • All Implemented Interfaces:
    Serializable
    Enclosing class:
    Payload<T>

    public static final class Payload.JsonPayload
    extends Payload<com.google.protobuf.Struct>
    A log entry's JSON payload.
    See Also:
    Serialized Form
    • Method Detail

      • getDataAsMap

        public Map<String,​Object> getDataAsMap()
        Returns the log entry's JSON data as an unmodifiable map.
      • of

        public static Payload.JsonPayload of​(Map<String,​?> data)
        Creates a log entry payload given its JSON data represented as a map. The provided map is copied into a Struct object.

        Notice that all numbers (int, long, float and double) are serialized as double values. Enums are serialized as strings.

        Example usage of JsonPayload:

        
         List<Long> listValue = Arrays.asList(1L, 2L);
         Map<String, Object> innerMap = new HashMap<String, Object>();
         innerMap.put("booleanValue", true);
         innerMap.put("stringValue", "stringValue");
         Map<String, Object> jsonContent = new HashMap<String, Object>();
         jsonContent.put("listValue", listValue);
         jsonContent.put("integerValue", 42);
         jsonContent.put("doubleValue", 42.0);
         jsonContent.put("stringValue", "stringValue");
         jsonContent.put("mapValue", innerMap);
         JsonPayload payload = JsonPayload.of(jsonContent);
         
      • of

        public static Payload.JsonPayload of​(com.google.protobuf.Struct data)
        Creates a log entry payload given its JSON data represented as a protobuf struct.