cc.funkemunky.api.utils.json

## Class JSONML

- java.lang.Object
- - cc.funkemunky.api.utils.json.JSONML

    public class JSONML
    extends java.lang.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.

### Constructor Summary

Constructors
Constructor and Description
`JSONML()`

### Method Summary

All Methods Static Methods Concrete Methods
`static JSONArray` `toJSONArray(java.lang.String string)` 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 JSONObject` `toJSONObject(java.lang.String string)` 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 java.lang.String` `toString(JSONArray ja)` Reverse the JSONML transformation, making an XML text from a JSONArray.
`static java.lang.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(java.lang.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 `<[ [ ]]>` are ignored.

Parameters:
  `string` - The source string.
Returns:
  A JSONArray containing the structured data from the XML string.
Throws:
  `JSONException`

#### 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 `<[ [ ]]>` are ignored.

Parameters:
  `x` - An XMLTokener.
Returns:
  A JSONArray containing the structured data from the XML string.
Throws:
  `JSONException`

#### 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 `<[ [ ]]>` are ignored.

Parameters:
  `x` - An XMLTokener of the XML source text.
Returns:
  A JSONObject containing the structured data from the XML string.
Throws:
  `JSONException`

#### toJSONObject

    public static JSONObject toJSONObject(java.lang.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 `<[ [ ]]>` are ignored.

Parameters:
  `string` - The XML source text.
Returns:
  A JSONObject containing the structured data from the XML string.
Throws:
  `JSONException`

#### toString

    public static java.lang.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`

#### toString

    public static java.lang.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`