JSONML (JSON in Java 20240205 API)

Package org.json

## Class JSONML

- java.lang.Object
- - org.json.JSONML

-     public class JSONML
      extends Object

  This provides static methods to convert an XML text into a JSONArray or JSONObject, and to covert a JSONArray or JSONObject into an XML text using the JsonML transform.
  Version:
    2016-01-30
  Author:
    JSON.org

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JSONML()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static JSONArray` | `toJSONArray​(String string)` | Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform.
    `static JSONArray` | `toJSONArray​(String string, boolean keepStrings)` | Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform.
    `static JSONArray` | `toJSONArray​(String string, JSONMLParserConfiguration config)` | Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform.
    `static JSONArray` | `toJSONArray​(XMLTokener x)` | Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform.
    `static JSONArray` | `toJSONArray​(XMLTokener x, boolean keepStrings)` | Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform.
    `static JSONArray` | `toJSONArray​(XMLTokener x, JSONMLParserConfiguration config)` | Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform.
    `static JSONObject` | `toJSONObject​(String string)` | Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform.
    `static JSONObject` | `toJSONObject​(String string, boolean keepStrings)` | Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform.
    `static JSONObject` | `toJSONObject​(String string, JSONMLParserConfiguration config)` | Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform.
    `static JSONObject` | `toJSONObject​(XMLTokener x)` | Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform.
    `static JSONObject` | `toJSONObject​(XMLTokener x, boolean keepStrings)` | Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform.
    `static JSONObject` | `toJSONObject​(XMLTokener x, JSONMLParserConfiguration config)` | Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform.
    `static String` | `toString​(JSONArray ja)` | Reverse the JSONML transformation, making an XML text from a JSONArray.
    `static String` | `toString​(JSONObject jo)` | Reverse the JSONML transformation, making an XML text from a JSONObject.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JSONML

          public JSONML()

  - ### Method Detail

    - #### toJSONArray

          public static JSONArray toJSONArray​(String string)
                                       throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then the second element will be JSONObject containing the name/value pairs. If the tag contains children, then strings and JSONArrays will represent the child tags. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `string` - The source string.
      Returns:
        A JSONArray containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONArray

    - #### toJSONArray

          public static JSONArray toJSONArray​(String string,
                                              boolean keepStrings)
                                       throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then the second element will be JSONObject containing the name/value pairs. If the tag contains children, then strings and JSONArrays will represent the child tags. As opposed to toJSONArray this method does not attempt to convert any text node or attribute value to any type but just leaves it as a string. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `string` - The source string.
        `keepStrings` - If true, then values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONArray containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONArray

    - #### toJSONArray

          public static JSONArray toJSONArray​(String string,
                                              JSONMLParserConfiguration config)
                                       throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then the second element will be JSONObject containing the name/value pairs. If the tag contains children, then strings and JSONArrays will represent the child tags. As opposed to toJSONArray this method does not attempt to convert any text node or attribute value to any type but just leaves it as a string. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `string` - The source string.
        `config` - The parser configuration: JSONMLParserConfiguration.ORIGINAL is the default behaviour; JSONMLParserConfiguration.KEEP_STRINGS means values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONArray containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONArray

    - #### toJSONArray

          public static JSONArray toJSONArray​(XMLTokener x,
                                              JSONMLParserConfiguration config)
                                       throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then the second element will be JSONObject containing the name/value pairs. If the tag contains children, then strings and JSONArrays will represent the child content and tags. As opposed to toJSONArray this method does not attempt to convert any text node or attribute value to any type but just leaves it as a string. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `x` - An XMLTokener.
        `config` - The parser configuration: JSONMLParserConfiguration.ORIGINAL is the default behaviour; JSONMLParserConfiguration.KEEP_STRINGS means values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONArray containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONArray

    - #### toJSONArray

          public static JSONArray toJSONArray​(XMLTokener x,
                                              boolean keepStrings)
                                       throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then the second element will be JSONObject containing the name/value pairs. If the tag contains children, then strings and JSONArrays will represent the child content and tags. As opposed to toJSONArray this method does not attempt to convert any text node or attribute value to any type but just leaves it as a string. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `x` - An XMLTokener.
        `keepStrings` - If true, then values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONArray containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONArray

    - #### toJSONArray

          public static JSONArray toJSONArray​(XMLTokener x)
                                       throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then the second element will be JSONObject containing the name/value pairs. If the tag contains children, then strings and JSONArrays will represent the child content and tags. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `x` - An XMLTokener.
      Returns:
        A JSONArray containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONArray

    - #### toJSONObject

          public static JSONObject toJSONObject​(String string)
                                         throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes will be in the JSONObject as properties. If the tag contains children, the object will have a "childNodes" property which will be an array of strings and JsonML JSONObjects. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `string` - The XML source text.
      Returns:
        A JSONObject containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONObject

    - #### toJSONObject

          public static JSONObject toJSONObject​(String string,
                                                boolean keepStrings)
                                         throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes will be in the JSONObject as properties. If the tag contains children, the object will have a "childNodes" property which will be an array of strings and JsonML JSONObjects. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `string` - The XML source text.
        `keepStrings` - If true, then values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONObject containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONObject

    - #### toJSONObject

          public static JSONObject toJSONObject​(String string,
                                                JSONMLParserConfiguration config)
                                         throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes will be in the JSONObject as properties. If the tag contains children, the object will have a "childNodes" property which will be an array of strings and JsonML JSONObjects. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `string` - The XML source text.
        `config` - The parser configuration: JSONMLParserConfiguration.ORIGINAL is the default behaviour; JSONMLParserConfiguration.KEEP_STRINGS means values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONObject containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONObject

    - #### toJSONObject

          public static JSONObject toJSONObject​(XMLTokener x)
                                         throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes will be in the JSONObject as properties. If the tag contains children, the object will have a "childNodes" property which will be an array of strings and JsonML JSONObjects. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `x` - An XMLTokener of the XML source text.
      Returns:
        A JSONObject containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONObject

    - #### toJSONObject

          public static JSONObject toJSONObject​(XMLTokener x,
                                                boolean keepStrings)
                                         throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes will be in the JSONObject as properties. If the tag contains children, the object will have a "childNodes" property which will be an array of strings and JsonML JSONObjects. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `x` - An XMLTokener of the XML source text.
        `keepStrings` - If true, then values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONObject containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONObject

    - #### toJSONObject

          public static JSONObject toJSONObject​(XMLTokener x,
                                                JSONMLParserConfiguration config)
                                         throws JSONException

      Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes will be in the JSONObject as properties. If the tag contains children, the object will have a "childNodes" property which will be an array of strings and JsonML JSONObjects. Comments, prologs, DTDs, and

          &lt;[ [ ]]>

      are ignored.
      Parameters:
        `x` - An XMLTokener of the XML source text.
        `config` - The parser configuration: JSONMLParserConfiguration.ORIGINAL is the default behaviour; JSONMLParserConfiguration.KEEP_STRINGS means values will not be coerced into boolean or numeric values and will instead be left as strings
      Returns:
        A JSONObject containing the structured data from the XML string.
      Throws:
        `JSONException` - Thrown on error converting to a JSONObject

    - #### toString

          public static String toString​(JSONArray ja)
                                 throws JSONException

      Reverse the JSONML transformation, making an XML text from a JSONArray.
      Parameters:
        `ja` - A JSONArray.
      Returns:
        An XML string.
      Throws:
        `JSONException` - Thrown on error converting to a string

    - #### toString

          public static String toString​(JSONObject jo)
                                 throws JSONException

      Reverse the JSONML transformation, making an XML text from a JSONObject. The JSONObject must contain a "tagName" property. If it has children, then it must have a "childNodes" property containing an array of objects. The other properties are attributes with string values.
      Parameters:
        `jo` - A JSONObject.
      Returns:
        An XML string.
      Throws:
        `JSONException` - Thrown on error converting to a string