Module json5

Class JSONOptions


  • public class JSONOptions
    extends Object
    This class used is used to customize the behaviour of parsing and stringifying
    Since:
    1.1.0
    Author:
    SyntaxError404
    • Method Detail

      • isStringifyUnixInstants

        public boolean isStringifyUnixInstants()
        Whether instants should be stringifyed as unix timestamps. If this is false, instants will be stringifyed as strings (according to RFC 3339, Section 5.6).

        Default: false

        This is a Stringify-only option

        Returns:
        whether instants should be stringifyed as unix timestamps
        Since:
        1.1.0
      • isStringifyAscii

        public boolean isStringifyAscii()
        Whether stringifying should only yield ASCII strings. All non-ASCII characters will be converted to their Unicode escape sequence (\uXXXX).

        Default: false

        This is a Stringify-only option

        Returns:
        whether stringifying should only yield ASCII strings
        Since:
        2.0.0
      • isAllowNaN

        public boolean isAllowNaN()
        Whether NaN should be allowed as a number

        Default: true

        Returns:
        whether NaN should be allowed
        Since:
        1.1.0
      • isAllowInfinity

        public boolean isAllowInfinity()
        Whether Infinity should be allowed as a number. This applies to both +Infinity and -Infinity

        Default: true

        Returns:
        whether Infinity should be allowed
        Since:
        1.1.0
      • isAllowInvalidSurrogates

        public boolean isAllowInvalidSurrogates()
        Whether invalid unicode surrogate pairs should be allowed

        Default: true

        This is a Parser-only option

        Returns:
        whether invalid unicode surrogate pairs should be allowed
        Since:
        1.1.0
      • isQuoteSingle

        public boolean isQuoteSingle()
        Whether strings should be single-quoted (') instead of double-quoted ("). This also includes a JSONObject's member names

        Default: false

        This is a Stringify-only option

        Returns:
        whether strings should be single-quoted
        Since:
        1.1.0
      • isAllowBinaryLiterals

        public boolean isAllowBinaryLiterals()
        Whether binary literals (0b10101...) should be allowed

        Default: false

        This is a Parser-only option

        Returns:
        whether binary literals should be allowed
        Since:
        2.0.0
      • isAllowOctalLiterals

        public boolean isAllowOctalLiterals()
        Whether octal literals (0o567...) should be allowed

        Default: false

        This is a Parser-only option

        Returns:
        whether octal literals should be allowed
        Since:
        2.0.0
      • isAllowHexFloatingLiterals

        public boolean isAllowHexFloatingLiterals()
        Whether hexadecimal floating-point literals (e.g. 0xA.BCp+12) should be allowed

        Default: false

        This is a Parser-only option

        Returns:
        whether octal literals should be allowed
        Since:
        2.0.0
      • isAllowJavaDigitSeparators

        public boolean isAllowJavaDigitSeparators()
        Whether Java-style digit separators (123_456) should be allowed

        Default: false

        This is a Parser-only option

        Returns:
        whether Java-style digit separators should be allowed
        Since:
        2.0.0
      • isAllowCDigitSeparators

        public boolean isAllowCDigitSeparators()
        Whether C-style digit separators (123'456) should be allowed

        Default: false

        This is a Parser-only option

        Returns:
        whether C-style digit separators should be allowed
        Since:
        2.0.0
      • isAllowLongUnicodeEscapes

        public boolean isAllowLongUnicodeEscapes()
        Whether 32-bit unicode escape sequences (\U00123456) should be allowed

        Default: false

        This is a Parser-only option

        Returns:
        whether 32-bit unicode escape sequences should be allowed
        Since:
        2.0.0
      • getDuplicateBehaviour

        public JSONOptions.DuplicateBehavior getDuplicateBehaviour()
        Specifies the behavior when the same key is encountered multiple times within the same JSONObject

        Default: UNIQUE

        This is a Parser-only option

        Returns:
        the behavior when encountering duplicate keys
        Since:
        1.3.0
      • getDefaultOptions

        @NonNull
        public static @NonNull JSONOptions getDefaultOptions()
        Returns the default options for parsing and stringifying
        Returns:
        the default options
        Since:
        1.1.0
      • setDefaultOptions

        public static void setDefaultOptions​(@NonNull
                                             @NonNull JSONOptions defaultOptions)
        Sets the default options for parsing and stringifying. Must not be null
        Parameters:
        defaultOptions - the new default options
        Since:
        1.1.0