Skip to content

Commit

Permalink
updated read me file
Browse files Browse the repository at this point in the history
  • Loading branch information
lynnwilliam committed May 3, 2017
1 parent 31d2922 commit 12bc052
Showing 1 changed file with 36 additions and 73 deletions.
109 changes: 36 additions & 73 deletions README.txt
Original file line number Diff line number Diff line change
@@ -1,73 +1,36 @@
JSON in Java [package org.json]

This package needs a new owner. I have not used it in over a decade, and I do
not have time to maintain programs that I do not use.

If you think you can give this package a good home, please contact me.

Douglas Crockford
douglas@crockford.com

2015-02-06


JSON is a light-weight, language independent, data interchange format.
See 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
headers, Cookies, and CDL.

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
package.

The package compiles on Java 1.8.


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
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.

JSONException.java: The JSONException is the standard exception type thrown
by this package.


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.
# Description
This project is a Java library for dealing with JSON Objects.
Its different because!

## 1. you can now parse JSON Objects without needing to handle exceptions!
Most JSON string data is already normally validated before being put into the JSONObjects, which makes using Exceptions slow!

This won't throw exceptions since the JSON string is already validated probably by the client or the data-source that created it !
JSONObject car = new JSONObject("{car}");

## 2. You can recursively search a JSON Object or JSON Array, for an object that matches 'name'.
It will search the entire object recursively and return the first matching key name object.

This is great for when web services change the location of the object, when all you want is the object and its location does not matter!

JSONObject jsonA = "{"car":{"engine":{"sproket":"15"}}}";
JSONObject jsonB = "{"car":{"engine": {"gears":{"sproket":"15"}} }}";
In this case we only want the "sproket" object and don't care about its position in the JSON map.
Object sproketA = jsonA.getJSONObjectRecursive("sproket");
Object sproketB = jsonB.getJSONObjectRecursive("sproket");
objects sproketA and sproketB have the same data! no need to change your business logic!

## 3. Use JSON for counting!!!!

Sometimes we want to count objects, well now its easy
JSONObject beanCounter = new JSONObject();
beanCounter.increment("beanCounter");
beanCounter.increment("beanCounter");
beanCounter.increment("beanCounter");
int beansCount = beanCounter.getInt("beanCounter"); //will return 3 !!!

JSONObject signoutCounter = new JSONObject();
signoutCounter.decrement("signinAttempt");
signoutCounter.decrement("signinAttempt");
signoutCounter.decrement("signinAttempt");
int signinAttempt = signoutCounter.getInt("signinAttempt"); //will return -3 !!!

0 comments on commit 12bc052

Please sign in to comment.