From cd0ec7d4b697f61b2c287e8bb0a922f11da7b2e6 Mon Sep 17 00:00:00 2001 From: Eustaquio Rangel Date: Thu, 23 Jun 2016 07:57:43 -0300 Subject: [PATCH 1/2] Building using Ant and ignoring jar file and compiled classes --- .gitignore | 2 ++ README => README.md | 0 build.xml | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 .gitignore rename README => README.md (100%) create mode 100644 build.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..079fc9901 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +org/* +JSON-java.jar diff --git a/README b/README.md similarity index 100% rename from README rename to README.md diff --git a/build.xml b/build.xml new file mode 100644 index 000000000..749d39a3b --- /dev/null +++ b/build.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + From e8a243fd0c752439635a1a25f01ef65bed43e569 Mon Sep 17 00:00:00 2001 From: Eustaquio Rangel Date: Thu, 23 Jun 2016 07:57:59 -0300 Subject: [PATCH 2/2] README improvements. --- README.md | 79 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index fb0e9e4a8..99f58604d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -JSON in Java [package org.json] +# JSON in Java [package org.json] JSON is a light-weight, language independent, data interchange format. -See http://www.JSON.org/ +See [http://www.JSON.org/](http://www.JSON.org/) The files in this package implement JSON encoders/decoders in Java. It also includes the capability to convert between JSON and XML, HTTP @@ -11,85 +11,102 @@ This is a reference implementation. There is a large number of JSON packages in Java. Perhaps someday the Java community will standardize on one. Until then, choose carefully. -The license includes this restriction: "The software shall be used for good, -not evil." If your conscience cannot live with that, then choose a different +The license includes this restriction: *"The software shall be used for good, +not evil."* If your conscience cannot live with that, then choose a different package. The package compiles on Java 1.6-1.8. +## Classes -JSONObject.java: The JSONObject can parse text from a String or a JSONTokener +- **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 JSONObject can parse text from a String or a JSONTokener +- **JSONArray.java**: The JSONObject 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 +- **JSONTokener.java**: The JSONTokener breaks a text into a sequence of individual tokens. It can be constructed from a String, Reader, or InputStream. -JSONException.java: The JSONException is the standard exception type thrown +- **JSONException.java**: The JSONException is the standard exception type thrown by this package. -JSONPointer.java: Implementation of +- **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. -JSONString.java: The JSONString interface requires a toJSONString method, +- **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 +- **JSONStringer.java**: The JSONStringer provides a convenient facility for building JSON strings. -JSONWriter.java: The JSONWriter provides a convenient facility for building +- **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 +- **CDL.java**: CDL provides support for converting between JSON and comma delimited lists. -Cookie.java: Cookie provides support for converting between JSON and cookies. +- **Cookie.java**: Cookie provides support for converting between JSON and cookies. -CookieList.java: CookieList provides support for converting between JSON and +- **CookieList.java**: CookieList provides support for converting between JSON and cookie lists. -HTTP.java: HTTP provides support for converting between JSON and HTTP headers. +- **HTTP.java**: HTTP provides support for converting between JSON and HTTP headers. + +- **HTTPTokener.java**: HTTPTokener extends JSONTokener for parsing HTTP headers. -HTTPTokener.java: HTTPTokener extends JSONTokener for parsing HTTP headers. +- **XML.java**: XML provides support for converting between JSON and XML. -XML.java: XML provides support for converting between JSON and XML. +- **JSONML.java**: JSONML provides support for converting between JSONML and XML. -JSONML.java: JSONML provides support for converting between JSONML and XML. +- **XMLTokener.java**: XMLTokener extends JSONTokener for parsing XML text. -XMLTokener.java: XMLTokener extends JSONTokener for parsing XML text. +## Unit tests Unit tests are maintained in a separate project. Contributing developers can test -JSON-java pull requests with the code in this project: -https://github.com/stleary/JSON-Java-unit-test +JSON-java pull requests with the code in [this project](https://github.com/stleary/JSON-Java-unit-test). + +## Data types -Numeric types in this package comply with ECMA-404: The JSON Data Interchange Format -(http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf) and -RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format -(https://tools.ietf.org/html/rfc7159#section-6). +Numeric types in this package comply with ECMA-404: The [JSON Data Interchange Format](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf) and +[RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format](https://tools.ietf.org/html/rfc7159#section-6). This package fully supports Integer, Long, and Double Java types. Partial support for BigInteger and BigDecimal values in JSONObject and JSONArray objects is provided in the form of get(), opt(), and put() API methods. +## Compatibility + Although 1.6 compatibility is currently supported, it is not a project goal and may be removed in some future release. -Release history: +## Release history -20160212 Java 1.6 compatibility, OSGi bundle. Contains the latest code as of 12 Feb, 2016. +- 20160212 Java 1.6 compatibility, OSGi bundle. Contains the latest code as of 12 Feb, 2016. -20151123 JSONObject and JSONArray initialization with generics. Contains the +- 20151123 JSONObject and JSONArray initialization with generics. Contains the latest code as of 23 Nov, 2015. -20150729 Checkpoint for Maven central repository release. Contains the latest code +- 20150729 Checkpoint for Maven central repository release. Contains the latest code as of 29 July, 2015. +## Releases + +### Maven + JSON-java releases can be found by searching the Maven repository for groupId "org.json" and artifactId "json". For example: https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.json%22%20AND%20a%3A%22json%22 + +### Jar + +Jar package can be made using the Apache Ant tool: + +``` +$ ant +``` + +This will create `JSON-java.jar` file on the current directory with all the compiled classes.