Class JodaBeanSimpleJsonWriter


  • public class JodaBeanSimpleJsonWriter
    extends Object
    Provides the ability for a Joda-Bean to be written to a simple JSON format.

    This class contains mutable state and cannot be used from multiple threads. A new instance must be created for each message.

    The JSON format used here is natural, with no meta-data. As such, it may not be possible to write some objects or read the JSON data back in.

    Beans are output using JSON objects where the key is the property name. Most simple types, defined by Joda-Convert, are output as JSON strings. Null values are generally omitted, but where included are sent as 'null'. Boolean values are sent as 'true' and 'false'. Numeric values are sent as JSON numbers. Maps must have a key that can be converted to a string by Joda-Convert. The property type needs to be known when writing/reading - properties, or list/map entries, that are defined as Object are unlikely to work well.

    Collections are output using JSON arrays. Maps as JSON objects. Multisets are output as a map of value to count.

    • Constructor Detail

      • JodaBeanSimpleJsonWriter

        public JodaBeanSimpleJsonWriter​(JodaBeanSer settings)
        Creates an instance.
        Parameters:
        settings - the settings to use, not null
    • Method Detail

      • write

        public String write​(Bean bean)
        Writes the bean to a string.
        Parameters:
        bean - the bean to output, not null
        Returns:
        the JSON, not null
      • write

        public void write​(Bean bean,
                          Appendable output)
                   throws IOException
        Writes the bean to the Appendable.

        The type of the bean will be set in the message.

        Parameters:
        bean - the bean to output, not null
        output - the output appendable, not null
        Throws:
        IOException - if an error occurs