Package org.json

Class XML

java.lang.Object
org.json.XML

public class XML
extends java.lang.Object
This provides static methods to convert an XML text into a JSONObject, and to covert a JSONObject into an XML text.
Version:
2016-08-10
Author:
JSON.org
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.Character AMP
    The Character '&'.
    static java.lang.Character APOS
    The Character '''.
    static java.lang.Character BANG
    The Character '!'.
    static java.lang.Character EQ
    The Character '='.
    static java.lang.Character GT
    The Character
    static java.lang.Character LT
    The Character '<'.
    static java.lang.String NULL_ATTR
    Null attribute name
    static java.lang.Character QUEST
    The Character '?'.
    static java.lang.Character QUOT
    The Character '"'.
    static java.lang.Character SLASH
    The Character '/'.
  • Constructor Summary

    Constructors 
    Constructor Description
    XML()  
  • Method Summary

    Modifier and Type Method Description
    static java.lang.String escape​(java.lang.String string)
    Replace special characters with XML escapes:
    static void noSpace​(java.lang.String string)
    Throw an exception if the string contains whitespace.
    static java.lang.Object stringToValue​(java.lang.String string)
    This method is the same as JSONObject.stringToValue(String).
    static JSONObject toJSONObject​(java.io.Reader reader)
    Convert a well-formed (but not necessarily valid) XML into a JSONObject.
    static JSONObject toJSONObject​(java.io.Reader reader, boolean keepStrings)
    Convert a well-formed (but not necessarily valid) XML into a JSONObject.
    static JSONObject toJSONObject​(java.io.Reader reader, XMLParserConfiguration config)
    Convert a well-formed (but not necessarily valid) XML into a JSONObject.
    static JSONObject toJSONObject​(java.lang.String string)
    Convert a well-formed (but not necessarily valid) XML string into a JSONObject.
    static JSONObject toJSONObject​(java.lang.String string, boolean keepStrings)
    Convert a well-formed (but not necessarily valid) XML string into a JSONObject.
    static JSONObject toJSONObject​(java.lang.String string, XMLParserConfiguration config)
    Convert a well-formed (but not necessarily valid) XML string into a JSONObject.
    static java.lang.String toString​(java.lang.Object object)
    Convert a JSONObject into a well-formed, element-normal XML string.
    static java.lang.String toString​(java.lang.Object object, java.lang.String tagName)
    Convert a JSONObject into a well-formed, element-normal XML string.
    static java.lang.String toString​(java.lang.Object object, java.lang.String tagName, XMLParserConfiguration config)
    Convert a JSONObject into a well-formed, element-normal XML string.
    static java.lang.String unescape​(java.lang.String string)
    Removes XML escapes from the string.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • AMP

      public static final java.lang.Character AMP
      The Character '&'.
    • APOS

      public static final java.lang.Character APOS
      The Character '''.
    • BANG

      public static final java.lang.Character BANG
      The Character '!'.
    • EQ

      public static final java.lang.Character EQ
      The Character '='.
    • GT

      public static final java.lang.Character GT
      The Character
      '>'. 
    • LT

      public static final java.lang.Character LT
      The Character '<'.
    • QUEST

      public static final java.lang.Character QUEST
      The Character '?'.
    • QUOT

      public static final java.lang.Character QUOT
      The Character '"'.
    • SLASH

      public static final java.lang.Character SLASH
      The Character '/'.
    • NULL_ATTR

      public static final java.lang.String NULL_ATTR
      Null attribute name
      See Also:
      Constant Field Values
  • Constructor Details

    • XML

      public XML()
  • Method Details

    • escape

      public static java.lang.String escape​(java.lang.String string)
      Replace special characters with XML escapes:
      
       &amp; (ampersand) is replaced by &amp;amp;
       &lt; (less than) is replaced by &amp;lt;
       &gt; (greater than) is replaced by &amp;gt;
       &quot; (double quote) is replaced by &amp;quot;
       &apos; (single quote / apostrophe) is replaced by &amp;apos;
       
      Parameters:
      string - The string to be escaped.
      Returns:
      The escaped string.
    • unescape

      public static java.lang.String unescape​(java.lang.String string)
      Removes XML escapes from the string.
      Parameters:
      string - string to remove escapes from
      Returns:
      string with converted entities
    • noSpace

      public static void noSpace​(java.lang.String string) throws JSONException
      Throw an exception if the string contains whitespace. Whitespace is not allowed in tagNames and attributes.
      Parameters:
      string - A string.
      Throws:
      JSONException - Thrown if the string contains whitespace or is empty.
    • stringToValue

      public static java.lang.Object stringToValue​(java.lang.String string)
      This method is the same as JSONObject.stringToValue(String).
      Parameters:
      string - String to convert
      Returns:
      JSON value of this string or the string
    • toJSONObject

      public static JSONObject toJSONObject​(java.lang.String string) throws JSONException
      Convert a well-formed (but not necessarily valid) XML string into a JSONObject. Some information may be lost in this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, and content text, while JSON uses unordered collections of name/value pairs and arrays of values. JSON does not does not like to distinguish between elements and attributes. Sequences of similar elements are represented as JSONArrays. Content text may be placed in a "content" member. Comments, prologs, DTDs, and
      
       &lt;[ [ ]]>
      are ignored.
      Parameters:
      string - The source string.
      Returns:
      A JSONObject containing the structured data from the XML string.
      Throws:
      JSONException - Thrown if there is an errors while parsing the string
    • toJSONObject

      public static JSONObject toJSONObject​(java.io.Reader reader) throws JSONException
      Convert a well-formed (but not necessarily valid) XML into a JSONObject. Some information may be lost in this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, and content text, while JSON uses unordered collections of name/value pairs and arrays of values. JSON does not does not like to distinguish between elements and attributes. Sequences of similar elements are represented as JSONArrays. Content text may be placed in a "content" member. Comments, prologs, DTDs, and
      
       &lt;[ [ ]]>
      are ignored.
      Parameters:
      reader - The XML source reader.
      Returns:
      A JSONObject containing the structured data from the XML string.
      Throws:
      JSONException - Thrown if there is an errors while parsing the string
    • toJSONObject

      public static JSONObject toJSONObject​(java.io.Reader reader, boolean keepStrings) throws JSONException
      Convert a well-formed (but not necessarily valid) XML into a JSONObject. Some information may be lost in this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, and content text, while JSON uses unordered collections of name/value pairs and arrays of values. JSON does not does not like to distinguish between elements and attributes. Sequences of similar elements are represented as JSONArrays. Content text may be placed in a "content" member. Comments, prologs, DTDs, and
      
       &lt;[ [ ]]>
      are ignored. All values are converted as strings, for 1, 01, 29.0 will not be coerced to numbers but will instead be the exact value as seen in the XML document.
      Parameters:
      reader - The XML source reader.
      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 if there is an errors while parsing the string
    • toJSONObject

      public static JSONObject toJSONObject​(java.io.Reader reader, XMLParserConfiguration config) throws JSONException
      Convert a well-formed (but not necessarily valid) XML into a JSONObject. Some information may be lost in this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, and content text, while JSON uses unordered collections of name/value pairs and arrays of values. JSON does not does not like to distinguish between elements and attributes. Sequences of similar elements are represented as JSONArrays. Content text may be placed in a "content" member. Comments, prologs, DTDs, and
      
       &lt;[ [ ]]>
      are ignored. All values are converted as strings, for 1, 01, 29.0 will not be coerced to numbers but will instead be the exact value as seen in the XML document.
      Parameters:
      reader - The XML source reader.
      config - Configuration options for the parser
      Returns:
      A JSONObject containing the structured data from the XML string.
      Throws:
      JSONException - Thrown if there is an errors while parsing the string
    • toJSONObject

      public static JSONObject toJSONObject​(java.lang.String string, boolean keepStrings) throws JSONException
      Convert a well-formed (but not necessarily valid) XML string into a JSONObject. Some information may be lost in this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, and content text, while JSON uses unordered collections of name/value pairs and arrays of values. JSON does not does not like to distinguish between elements and attributes. Sequences of similar elements are represented as JSONArrays. Content text may be placed in a "content" member. Comments, prologs, DTDs, and
      
       &lt;[ [ ]]>
      are ignored. All values are converted as strings, for 1, 01, 29.0 will not be coerced to numbers but will instead be the exact value as seen in the XML document.
      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 JSONObject containing the structured data from the XML string.
      Throws:
      JSONException - Thrown if there is an errors while parsing the string
    • toJSONObject

      public static JSONObject toJSONObject​(java.lang.String string, XMLParserConfiguration config) throws JSONException
      Convert a well-formed (but not necessarily valid) XML string into a JSONObject. Some information may be lost in this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, and content text, while JSON uses unordered collections of name/value pairs and arrays of values. JSON does not does not like to distinguish between elements and attributes. Sequences of similar elements are represented as JSONArrays. Content text may be placed in a "content" member. Comments, prologs, DTDs, and
      
       &lt;[ [ ]]>
      are ignored. All values are converted as strings, for 1, 01, 29.0 will not be coerced to numbers but will instead be the exact value as seen in the XML document.
      Parameters:
      string - The source string.
      config - Configuration options for the parser.
      Returns:
      A JSONObject containing the structured data from the XML string.
      Throws:
      JSONException - Thrown if there is an errors while parsing the string
    • toString

      public static java.lang.String toString​(java.lang.Object object) throws JSONException
      Convert a JSONObject into a well-formed, element-normal XML string.
      Parameters:
      object - A JSONObject.
      Returns:
      A string.
      Throws:
      JSONException - Thrown if there is an error parsing the string
    • toString

      public static java.lang.String toString​(java.lang.Object object, java.lang.String tagName)
      Convert a JSONObject into a well-formed, element-normal XML string.
      Parameters:
      object - A JSONObject.
      tagName - The optional name of the enclosing tag.
      Returns:
      A string.
      Throws:
      JSONException - Thrown if there is an error parsing the string
    • toString

      public static java.lang.String toString​(java.lang.Object object, java.lang.String tagName, XMLParserConfiguration config) throws JSONException
      Convert a JSONObject into a well-formed, element-normal XML string.
      Parameters:
      object - A JSONObject.
      tagName - The optional name of the enclosing tag.
      config - Configuration that can control output to XML.
      Returns:
      A string.
      Throws:
      JSONException - Thrown if there is an error parsing the string