# Files **JSONObject.java**: The `JSONObject` can parse text from a `String` or a `JSONTokener` to produce a map-like object. The object provides methods for manipulating its contents, and for producing a JSON compliant object serialization. **JSONArray.java**: The `JSONArray` can parse text from a String or a `JSONTokener` to produce a vector-like object. The object provides methods for manipulating its contents, and for producing a JSON compliant array serialization. **JSONTokener.java**: The `JSONTokener` breaks a text into a sequence of individual tokens. It can be constructed from a `String`, `Reader`, or `InputStream`. It also can parse text from a `String`, `Number`, `Boolean` or `null` like `"hello"`, `42`, `true`, `null` to produce a simple json object. **JSONException.java**: The `JSONException` is the standard exception type thrown by this package. **JSONPointer.java**: Implementation of [JSON Pointer (RFC 6901)](https://tools.ietf.org/html/rfc6901). Supports JSON Pointers both in the form of string representation and URI fragment representation. **JSONPropertyIgnore.java**: Annotation class that can be used on Java Bean getter methods. When used on a bean method that would normally be serialized into a `JSONObject`, it overrides the getter-to-key-name logic and forces the property to be excluded from the resulting `JSONObject`. **JSONPropertyName.java**: Annotation class that can be used on Java Bean getter methods. When used on a bean method that would normally be serialized into a `JSONObject`, it overrides the getter-to-key-name logic and uses the value of the annotation. The Bean processor will look through the class hierarchy. This means you can use the annotation on a base class or interface and the value of the annotation will be used even if the getter is overridden in a child class. **JSONString.java**: The `JSONString` interface requires a `toJSONString` method, allowing an object to provide its own serialization. **JSONStringer.java**: The `JSONStringer` provides a convenient facility for building JSON strings. **JSONWriter.java**: The `JSONWriter` provides a convenient facility for building JSON text through a writer. **CDL.java**: `CDL` provides support for converting between JSON and comma delimited lists. **Cookie.java**: `Cookie` provides support for converting between JSON and cookies. **CookieList.java**: `CookieList` provides support for converting between JSON and cookie lists. **HTTP.java**: `HTTP` provides support for converting between JSON and HTTP headers. **HTTPTokener.java**: `HTTPTokener` extends `JSONTokener` for parsing HTTP headers. **XML.java**: `XML` provides support for converting between JSON and XML. **JSONML.java**: `JSONML` provides support for converting between JSONML and XML. **XMLTokener.java**: `XMLTokener` extends `JSONTokener` for parsing XML text.