https://github.com/jimblackler/jsongenerator
A JSON data generator from JSON Schemas, provided as a Java library.
https://github.com/jimblackler/jsongenerator
json jsonschema
Last synced: about 1 year ago
JSON representation
A JSON data generator from JSON Schemas, provided as a Java library.
- Host: GitHub
- URL: https://github.com/jimblackler/jsongenerator
- Owner: jimblackler
- License: apache-2.0
- Created: 2020-09-06T20:42:15.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-06T21:09:15.000Z (over 2 years ago)
- Last Synced: 2025-03-25T23:51:19.543Z (about 1 year ago)
- Topics: json, jsonschema
- Language: Java
- Homepage:
- Size: 157 KB
- Stars: 31
- Watchers: 1
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JSON Generator
A JSON data generator from JSON Schemas, provided as a Java library.
It is available on JitPack.
[](https://jitpack.io/#net.jimblackler/jsongenerator)
An online demonstration [is here](https://tryjsonschematypes.appspot.com/#generate).
## How to Use
```java
import java.util.Random;
import net.jimblackler.jsonschemafriend.Schema;
import net.jimblackler.jsonschemafriend.SchemaStore;
public class JsonGenerationExample {
/**
* Generate random Json with the following schema:
* {
* "type": "object",
* "properties": {
* "name": { "type": "string" },
* "birthday": { "type": "string","format": "date" },
* "age": { "type": "integer" }
* }
* }
*/
public static void main(String[] args) throws Exception {
Configuration config = DefaultConfig.build()
.setGenerateMinimal(false)
.setNonRequiredPropertyChance(0.5f)
.get();
SchemaStore schemaStore = new SchemaStore(true);
Schema schema = schemaStore.loadSchemaJson("{ \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\" }, \"birthday\": { \"type\": \"string\", \"format\": \"date\" }, \"age\": { \"type\": \"integer\" } } }");
Generator generator = new Generator(config, schemaStore, new Random());
Object json = generator.generate(schema, 10);
// sample output: {name=vxtydd, birthday=2377-03-08, age=544}
System.out.println(json);
}
}
```
## License
Written by jimblackler@gmail.com and offered under an Apache 2.0 license.