Skip to content

Commit baef3b1

Browse files
committed
Chore: Update README
1 parent 9e710b3 commit baef3b1

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

README.md

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# JSON->URL
1+
# JSON→URL
22
[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/jsonurl/jsonurl-java.svg?label=License)](https://www.apache.org/licenses/LICENSE-2.0)
33
[![Release](https://img.shields.io/github/release/jsonurl/jsonurl-java.svg?label=Release)](https://search.maven.org/search?q=g:org.jsonurl)
44
[![javadoc](https://javadoc.io/badge2/org.jsonurl/jsonurl-core/javadoc.svg)](https://javadoc.io/doc/org.jsonurl/jsonurl-core)
55
[![TravisCI Build Status](https://travis-ci.com/jsonurl/jsonurl-java.svg?branch=master)](https://travis-ci.com/jsonurl/jsonurl-java)
6-
[![GitHub Build Status](https://github.com/jsonurl/jsonurl-java/workflows/ci/badge.svg?branch=master)](https://github.com/jsonurl/jsonurl-java/actions?query=workflow%3Aci)
6+
[![GitHub Build Status](https://github.com/jsonurl/jsonurl-java/workflows/ci/badge.svg)](https://github.com/jsonurl/jsonurl-java/actions?query=workflow%3Aci)
77
[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=jsonurl_jsonurl-java&metric=alert_status)](https://sonarcloud.io/dashboard?id=jsonurl_jsonurl-java)
88
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=jsonurl_jsonurl-java&metric=coverage)](https://sonarcloud.io/dashboard?id=jsonurl_jsonurl-java)
99
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=jsonurl_jsonurl-java&metric=ncloc)](https://sonarcloud.io/dashboard?id=jsonurl_jsonurl-java)
@@ -12,24 +12,24 @@
1212
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=jsonurl_jsonurl-java&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=jsonurl_jsonurl-java)
1313
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java?ref=badge_shield)
1414

15-
org.json module: [![Known Vulnerabilities](https://snyk.io/test/github/jsonurl/jsonurl-java/badge.svg?targetFile=module/jsonurl-jsonorg/pom.xml)](https://snyk.io/test/github/jsonurl/jsonurl-java?targetFile=module/jsonurl-jsonorg/pom.xml)
15+
[json.org module][jsonorg-module]: [![Known Vulnerabilities](https://snyk.io/test/github/jsonurl/jsonurl-java/badge.svg?targetFile=module/jsonurl-jsonorg/pom.xml)](https://snyk.io/test/github/jsonurl/jsonurl-java?targetFile=module/jsonurl-jsonorg/pom.xml)
1616
[![javadoc](https://javadoc.io/badge2/org.jsonurl/jsonurl-jsonorg/javadoc.svg)](https://javadoc.io/doc/org.jsonurl/jsonurl-jsonorg)
1717

18-
javax.json module: [![Known Vulnerabilities](https://snyk.io/test/github/jsonurl/jsonurl-java/badge.svg?targetFile=module/jsonurl-jsr374/pom.xml)](https://snyk.io/test/github/jsonurl/jsonurl-java?targetFile=module/jsonurl-jsr374/pom.xml)
18+
[javax.json module][jsr374-module]: [![Known Vulnerabilities](https://snyk.io/test/github/jsonurl/jsonurl-java/badge.svg?targetFile=module/jsonurl-jsr374/pom.xml)](https://snyk.io/test/github/jsonurl/jsonurl-java?targetFile=module/jsonurl-jsr374/pom.xml)
1919
[![javadoc](https://javadoc.io/badge2/org.jsonurl/jsonurl-jsr374/javadoc.svg)](https://javadoc.io/doc/org.jsonurl/jsonurl-jsr374)
2020

2121
## About
22-
RFC8259 describes the JSON data model and interchange format, which is widely
22+
[RFC8259][RFC8259] describes the JSON data model and interchange format, which is widely
2323
used in application-level protocols including RESTful APIs. It is common for
24-
applications to request resources via the HTTP POST method, with JSON entities,
25-
however, POST is suboptimal for requests which do not modify a resource's
26-
state. JSON->URL defines a text format for the JSON data model suitable for use
27-
within a URL/URI (as described by RFC3986).
24+
applications to request resources via the HTTP POST method, with JSON entities.
25+
However, POST is suboptimal for requests which do not modify a resource's
26+
state. JSON→URL defines a text format for the JSON data model suitable
27+
for use within a [URL][RFC1738]/[URI][RFC3986].
2828

2929
## 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).
30+
The core library defines a [generic][java-generic]
31+
[JSON->URL parser][parser] and includes an implementation based Java SE
32+
data types (e.g. [java.util.Map][java-map], [java.util.List][java-list], etc).
3333
There are two additional modules, distributed as separate artifacts, which
3434
implement a parser based on JSR-374 and Douglas Crockford's Java API.
3535

@@ -43,7 +43,7 @@ Map obj = p.parseObject( "(Hello:World!)" );
4343
System.out.println(obj.get("Hello")) // World!
4444
```
4545

46-
[Json.org][jsonorg-parser] example:
46+
[Json.org][javadoc-org-json] example:
4747

4848
```java
4949
import org.jsonurl.jsonorg.JsonUrlParser;
@@ -53,7 +53,7 @@ JSONObject obj = p.parseObject( "(Hello:World!)" );
5353
System.out.println(obj.get("Hello")) // World!
5454
```
5555

56-
[JSR-374][jsr374-parser] example:
56+
[JSR-374][javadoc-javax-json] example:
5757

5858
```java
5959
import org.jsonurl.jsonp.JsonUrlParser;
@@ -63,19 +63,25 @@ JsonObject obj = p.parseObject( "(Hello:World!)" );
6363
System.out.println(obj.get("Hello")) // World!
6464
```
6565

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.
66+
## Security
67+
The parser is designed to parse untrusted input. It supports limits on
68+
the number of parsed values and depth of nested arrays or objects.
69+
When the limit is exceeded a [LimitException][limit-exception] is thrown.
70+
Sane limit values are set by default.
7071

7172
## License
7273
[![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)
7374

75+
[RFC8259]: https://tools.ietf.org/html/rfc8259
76+
[RFC3986]: https://tools.ietf.org/html/rfc3986
77+
[RFC1738]: https://tools.ietf.org/html/rfc1738
7478
[java-generic]: https://docs.oracle.com/javase/tutorial/java/generics/types.html
7579
[parser]: module/jsonurl-core/src/main/java/org/jsonurl/Parser.java
7680
[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
81+
[jsonorg-module]: module/jsonurl-jsonorg/src/main/java/org/jsonurl/jsonorg/JsonUrlParser.java
82+
[jsr374-module]: module/jsonurl-jsr374/src/main/java/org/jsonurl/jsonp/JsonUrlParser.java
7983
[java-map]: https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
8084
[java-list]: https://docs.oracle.com/javase/8/docs/api/java/util/List.html
85+
[javadoc-org-json]: https://javadoc.io/doc/org.json/json/
86+
[javadoc-javax-json]: https://javadoc.io/doc/javax.json/javax.json-api/
8187

0 commit comments

Comments
 (0)