Skip to content

Commit 3f96202

Browse files
committed
Chore: Update README
1 parent 5ed4fc5 commit 3f96202

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

README.md

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,56 @@ however, POST is suboptimal for requests which do not modify a resource's
2626
state. JSON->URL defines a text format for the JSON data model suitable for use
2727
within 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

Comments
 (0)