@@ -26,6 +26,56 @@ however, POST is suboptimal for requests which do not modify a resource's
2626state. JSON->URL defines a text format for the JSON data model suitable for use
2727within a URL/URI (as described by RFC3986).
2828
29+ ## Usage
30+ The core library defines a [ generic] [ java-generic ] [ JSON->URL parser] [ parser ]
31+ and includes an implementation based Java SE data types (e.g.
32+ [ java.util.Map] [ java-map ] , [ java.util.List] [ java-list ] , etc).
33+ There are two additional modules, distributed as separate artifacts, which
34+ implement a parser based on JSR-374 and Douglas Crockford's Java API.
35+
36+ Java SE API example:
37+
38+ ``` java
39+ import org.jsonurl.JavaValueParser ;
40+
41+ JavaValueParser p = new JavaValueParser ();
42+ Map obj = p. parseObject( " (Hello:World!)" );
43+ System . out. println(obj. get(" Hello" )) // World!
44+ ```
45+
46+ [ Json.org] [ jsonorg-parser ] example:
47+
48+ ``` java
49+ import org.jsonurl.jsonorg.JsonUrlParser ;
50+
51+ JsonUrlParser p = new JsonUrlParser ();
52+ JSONObject obj = p. parseObject( " (Hello:World!)" );
53+ System . out. println(obj. get(" Hello" )) // World!
54+ ```
55+
56+ [ JSR-374] [ jsr374-parser ] example:
57+
58+ ``` java
59+ import org.jsonurl.jsonp.JsonUrlParser ;
60+
61+ JsonUrlParser p = new JsonUrlParser ();
62+ JsonObject obj = p. parseObject( " (Hello:World!)" );
63+ System . out. println(obj. get(" Hello" )) // World!
64+ ```
65+
66+ The parser is designed for parsing untrusted input. It supports limits on
67+ the number of values it will instantiate and depth of nested arrays or objects
68+ that may be parsed before throwing a [ LimitException] [ limit-exception ] , with
69+ sane defaults.
2970
3071## License
31- [ ![ FOSSA Status] ( https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java.svg?type=large )] ( https://app.fossa.io/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java?ref=badge_large )
72+ [ ![ FOSSA Status] ( https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java.svg?type=large )] ( https://app.fossa.io/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java?ref=badge_large )
73+
74+ [ java-generic ] : https://docs.oracle.com/javase/tutorial/java/generics/types.html
75+ [ parser ] : module/jsonurl-core/src/main/java/org/jsonurl/Parser.java
76+ [ limit-exception ] : module/jsonurl-core/src/main/java/org/jsonurl/LimitException.java
77+ [ jsonorg-parser ] : module/jsonurl-jsonorg/src/main/java/org/jsonurl/jsonorg/JsonUrlParser.java
78+ [ jsr374-parser ] : module/jsonurl-jsr374/src/main/java/org/jsonurl/jsonp/JsonUrlParser.java
79+ [ java-map ] : https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
80+ [ java-list ] : https://docs.oracle.com/javase/8/docs/api/java/util/List.html
81+
0 commit comments