Java 11497 (#12399)
* Added/created parent module (json-modules) * moved json(submodule) to json-modules(parent) * moved json-2(submodule) to json-modules(parent) * moved json-path(submodule) to json-modules(parent) * moved gson(submodule) to json-modules(parent) * deleted sub-modules that we moved to json-modules Co-authored-by: panagiotiskakos <panagiotis.kakos@libra-is.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package com.baeldung.adapter;
|
||||
|
||||
import javax.json.Json;
|
||||
import javax.json.JsonObject;
|
||||
import javax.json.bind.adapter.JsonbAdapter;
|
||||
|
||||
import com.baeldung.jsonb.Person;
|
||||
|
||||
public class PersonAdapter implements JsonbAdapter<Person, JsonObject> {
|
||||
|
||||
@Override
|
||||
public JsonObject adaptToJson(Person p) throws Exception {
|
||||
return Json.createObjectBuilder()
|
||||
.add("id", p.getId())
|
||||
.add("name", p.getName())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Person adaptFromJson(JsonObject adapted) throws Exception {
|
||||
Person person = new Person();
|
||||
person.setId(adapted.getInt("id"));
|
||||
person.setName(adapted.getString("name"));
|
||||
return person;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.baeldung.escape;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.gson.JsonObject;
|
||||
import org.json.JSONObject;
|
||||
|
||||
class JsonEscape {
|
||||
|
||||
String escapeJson(String input) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("message", input);
|
||||
return jsonObject.toString();
|
||||
}
|
||||
|
||||
String escapeGson(String input) {
|
||||
JsonObject gsonObject = new JsonObject();
|
||||
gsonObject.addProperty("message", input);
|
||||
return gsonObject.toString();
|
||||
}
|
||||
|
||||
String escapeJackson(String input) throws JsonProcessingException {
|
||||
return new ObjectMapper().writeValueAsString(new Payload(input));
|
||||
}
|
||||
|
||||
static class Payload {
|
||||
String message;
|
||||
|
||||
Payload(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
package com.baeldung.jsonb;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import javax.json.bind.annotation.JsonbDateFormat;
|
||||
import javax.json.bind.annotation.JsonbNumberFormat;
|
||||
import javax.json.bind.annotation.JsonbProperty;
|
||||
import javax.json.bind.annotation.JsonbTransient;
|
||||
|
||||
public class Person {
|
||||
|
||||
private int id;
|
||||
@JsonbProperty("person-name")
|
||||
private String name;
|
||||
@JsonbProperty(nillable = true)
|
||||
private String email;
|
||||
@JsonbTransient
|
||||
private int age;
|
||||
@JsonbDateFormat("dd-MM-yyyy")
|
||||
private LocalDate registeredDate;
|
||||
private BigDecimal salary;
|
||||
|
||||
public Person() {
|
||||
this(0, "", "", 0, LocalDate.now(), new BigDecimal(0));
|
||||
}
|
||||
|
||||
public Person(int id, String name, String email, int age, LocalDate registeredDate, BigDecimal salary) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.email = email;
|
||||
this.age = age;
|
||||
this.registeredDate = registeredDate;
|
||||
this.salary = salary;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@JsonbNumberFormat(locale = "en_US", value = "#0.0")
|
||||
public BigDecimal getSalary() {
|
||||
return salary;
|
||||
}
|
||||
|
||||
public void setSalary(BigDecimal salary) {
|
||||
this.salary = salary;
|
||||
}
|
||||
|
||||
public LocalDate getRegisteredDate() {
|
||||
return registeredDate;
|
||||
}
|
||||
|
||||
public void setRegisteredDate(LocalDate registeredDate) {
|
||||
this.registeredDate = registeredDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("Person [id=");
|
||||
builder.append(id);
|
||||
builder.append(", name=");
|
||||
builder.append(name);
|
||||
builder.append(", email=");
|
||||
builder.append(email);
|
||||
builder.append(", age=");
|
||||
builder.append(age);
|
||||
builder.append(", registeredDate=");
|
||||
builder.append(registeredDate);
|
||||
builder.append(", salary=");
|
||||
builder.append(salary);
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + id;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Person other = (Person) obj;
|
||||
if (id != other.id)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import org.json.CDL;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONTokener;
|
||||
|
||||
public class CDLDemo {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("8.1. Producing JSONArray Directly from Comma Delimited Text: ");
|
||||
jsonArrayFromCDT();
|
||||
|
||||
System.out.println("\n8.2. Producing Comma Delimited Text from JSONArray: ");
|
||||
cDTfromJSONArray();
|
||||
|
||||
System.out.println("\n8.3.1. Producing JSONArray of JSONObjects Using Comma Delimited Text: ");
|
||||
jaOfJOFromCDT2();
|
||||
|
||||
System.out.println("\n8.3.2. Producing JSONArray of JSONObjects Using Comma Delimited Text: ");
|
||||
jaOfJOFromCDT2();
|
||||
}
|
||||
|
||||
public static void jsonArrayFromCDT() {
|
||||
JSONArray ja = CDL.rowToJSONArray(new JSONTokener("England, USA, Canada"));
|
||||
System.out.println(ja);
|
||||
}
|
||||
|
||||
public static void cDTfromJSONArray() {
|
||||
JSONArray ja = new JSONArray("[\"England\",\"USA\",\"Canada\"]");
|
||||
String cdt = CDL.rowToString(ja);
|
||||
System.out.println(cdt);
|
||||
}
|
||||
|
||||
public static void jaOfJOFromCDT() {
|
||||
String string =
|
||||
"name, city, age \n" +
|
||||
"john, chicago, 22 \n" +
|
||||
"gary, florida, 35 \n" +
|
||||
"sal, vegas, 18";
|
||||
|
||||
JSONArray result = CDL.toJSONArray(string);
|
||||
System.out.println(result.toString());
|
||||
}
|
||||
|
||||
public static void jaOfJOFromCDT2() {
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.put("name");
|
||||
ja.put("city");
|
||||
ja.put("age");
|
||||
|
||||
String string =
|
||||
"john, chicago, 22 \n" +
|
||||
"gary, florida, 35 \n" +
|
||||
"sal, vegas, 18";
|
||||
|
||||
JSONArray result = CDL.toJSONArray(ja, string);
|
||||
System.out.println(result.toString());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import org.json.Cookie;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class CookieDemo {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("9.1. Converting a Cookie String into a JSONObject");
|
||||
cookieStringToJSONObject();
|
||||
|
||||
System.out.println("\n9.2. Converting a JSONObject into Cookie String");
|
||||
jSONObjectToCookieString();
|
||||
}
|
||||
|
||||
public static void cookieStringToJSONObject() {
|
||||
String cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";
|
||||
JSONObject cookieJO = Cookie.toJSONObject(cookie);
|
||||
System.out.println(cookieJO);
|
||||
}
|
||||
|
||||
public static void jSONObjectToCookieString() {
|
||||
JSONObject cookieJO = new JSONObject();
|
||||
cookieJO.put("name", "username");
|
||||
cookieJO.put("value", "John Doe");
|
||||
cookieJO.put("expires", "Thu, 18 Dec 2013 12:00:00 UTC");
|
||||
cookieJO.put("path", "/");
|
||||
String cookie = Cookie.toString(cookieJO);
|
||||
System.out.println(cookie);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
public class DemoBean {
|
||||
private int id;
|
||||
private String name;
|
||||
private boolean active;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
}
|
||||
public void setActive(boolean active) {
|
||||
this.active = active;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import org.json.HTTP;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class HTTPDemo {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("10.1. Converting JSONObject to HTTP Header: ");
|
||||
jSONObjectToHTTPHeader();
|
||||
|
||||
System.out.println("\n10.2. Converting HTTP Header String Back to JSONObject: ");
|
||||
hTTPHeaderToJSONObject();
|
||||
}
|
||||
|
||||
public static void jSONObjectToHTTPHeader() {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("Method", "POST");
|
||||
jo.put("Request-URI", "http://www.example.com/");
|
||||
jo.put("HTTP-Version", "HTTP/1.1");
|
||||
System.out.println(HTTP.toString(jo));
|
||||
}
|
||||
|
||||
public static void hTTPHeaderToJSONObject() {
|
||||
JSONObject obj = HTTP.toJSONObject("POST \"http://www.example.com/\" HTTP/1.1");
|
||||
System.out.println(obj);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class JSONArrayDemo {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("6.1. Creating JSON Array: ");
|
||||
creatingJSONArray();
|
||||
|
||||
System.out.println("\n6.2. Creating JSON Array from JSON string: ");
|
||||
jsonArrayFromJSONString();
|
||||
|
||||
System.out.println("\n6.3. Creating JSON Array from Collection Object: ");
|
||||
jsonArrayFromCollectionObj();
|
||||
}
|
||||
|
||||
public static void creatingJSONArray() {
|
||||
JSONArray ja = new JSONArray();
|
||||
ja.put(Boolean.TRUE);
|
||||
ja.put("lorem ipsum");
|
||||
|
||||
// We can also put a JSONObject in JSONArray
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("name", "jon doe");
|
||||
jo.put("age", "22");
|
||||
jo.put("city", "chicago");
|
||||
|
||||
ja.put(jo);
|
||||
|
||||
System.out.println(ja.toString());
|
||||
}
|
||||
|
||||
public static void jsonArrayFromJSONString() {
|
||||
JSONArray ja = new JSONArray("[true, \"lorem ipsum\", 215]");
|
||||
System.out.println(ja);
|
||||
}
|
||||
|
||||
public static void jsonArrayFromCollectionObj() {
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("California");
|
||||
list.add("Texas");
|
||||
list.add("Hawaii");
|
||||
list.add("Alaska");
|
||||
|
||||
JSONArray ja = new JSONArray(list);
|
||||
System.out.println(ja);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class JSONArrayGetValueByKey {
|
||||
|
||||
public List<String> getValuesByKeyInJSONArray(String jsonArrayStr, String key) {
|
||||
List<String> values = new ArrayList<>();
|
||||
JSONArray jsonArray = new JSONArray(jsonArrayStr);
|
||||
for (int idx = 0; idx < jsonArray.length(); idx++) {
|
||||
JSONObject jsonObj = jsonArray.getJSONObject(idx);
|
||||
values.add(jsonObj.optString(key));
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
public List<String> getValuesByKeyInJSONArrayUsingJava8(String jsonArrayStr, String key) {
|
||||
JSONArray jsonArray = new JSONArray(jsonArrayStr);
|
||||
return IntStream.range(0, jsonArray.length())
|
||||
.mapToObj(index -> ((JSONObject) jsonArray.get(index)).optString(key))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class JSONObjectDemo {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("4.1. Creating JSONObject: ");
|
||||
jsonFromJSONObject();
|
||||
|
||||
System.out.println("\n4.2. Creating JSONObject from Map: ");
|
||||
jsonFromMap();
|
||||
|
||||
System.out.println("\n4.3. Creating JSONObject from JSON string: ");
|
||||
jsonFromJSONString();
|
||||
}
|
||||
|
||||
public static void jsonFromJSONObject() {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("name", "jon doe");
|
||||
jo.put("age", "22");
|
||||
jo.put("city", "chicago");
|
||||
|
||||
System.out.println(jo.toString());
|
||||
}
|
||||
|
||||
public static void jsonFromMap() {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("name", "jon doe");
|
||||
map.put("age", "22");
|
||||
map.put("city", "chicago");
|
||||
JSONObject jo = new JSONObject(map);
|
||||
|
||||
System.out.println(jo.toString());
|
||||
}
|
||||
|
||||
public static void jsonFromJSONString() {
|
||||
JSONObject jo = new JSONObject(
|
||||
"{\"city\":\"chicago\",\"name\":\"jon doe\",\"age\":\"22\"}"
|
||||
);
|
||||
|
||||
System.out.println(jo.toString());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import org.json.JSONTokener;
|
||||
|
||||
public class JSONTokenerDemo {
|
||||
public static void main(String[] args) {
|
||||
JSONTokener jt = new JSONTokener("Sample String");
|
||||
|
||||
while(jt.more()) {
|
||||
System.out.println(jt.next());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.baeldung.jsonjava;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class ObjectToFromJSON {
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
System.out.println("\n5.1. Creating JSONObject from Java Bean: ");
|
||||
jsonFromDemoBean();
|
||||
}
|
||||
|
||||
public static void jsonFromDemoBean() {
|
||||
DemoBean demo = new DemoBean();
|
||||
demo.setId(1);
|
||||
demo.setName("lorem ipsum");
|
||||
demo.setActive(true);
|
||||
|
||||
JSONObject jo = new JSONObject(demo);
|
||||
System.out.println(jo);
|
||||
}
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.baeldung.jsonobject.iterate;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class JSONObjectIterator {
|
||||
|
||||
private Map<String, Object> keyValuePairs;
|
||||
|
||||
public JSONObjectIterator() {
|
||||
keyValuePairs = new HashMap<>();
|
||||
}
|
||||
|
||||
public void handleValue(String key, Object value) {
|
||||
if (value instanceof JSONArray) {
|
||||
handleJSONArray(key, (JSONArray) value);
|
||||
} else if (value instanceof JSONObject) {
|
||||
handleJSONObject((JSONObject) value);
|
||||
}
|
||||
keyValuePairs.put(key, value);
|
||||
}
|
||||
|
||||
public void handleJSONObject(JSONObject jsonObject) {
|
||||
Iterator<String> jsonObjectIterator = jsonObject.keys();
|
||||
jsonObjectIterator.forEachRemaining(key -> {
|
||||
Object value = jsonObject.get(key);
|
||||
handleValue(key, value);
|
||||
});
|
||||
}
|
||||
|
||||
public void handleJSONArray(String key, JSONArray jsonArray) {
|
||||
Iterator<Object> jsonArrayIterator = jsonArray.iterator();
|
||||
jsonArrayIterator.forEachRemaining(element -> {
|
||||
handleValue(key, element);
|
||||
});
|
||||
}
|
||||
|
||||
public Map<String, Object> getKeyValuePairs() {
|
||||
return keyValuePairs;
|
||||
}
|
||||
|
||||
public void setKeyValuePairs(Map<String, Object> keyValuePairs) {
|
||||
this.keyValuePairs = keyValuePairs;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.baeldung.jsonpointer;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
import javax.json.Json;
|
||||
import javax.json.JsonObject;
|
||||
import javax.json.JsonPointer;
|
||||
import javax.json.JsonReader;
|
||||
import javax.json.JsonString;
|
||||
import javax.json.JsonStructure;
|
||||
|
||||
public class JsonPointerCrud {
|
||||
|
||||
private JsonStructure jsonStructure = null;
|
||||
|
||||
public JsonPointerCrud(String fileName) throws IOException {
|
||||
|
||||
try (JsonReader reader = Json.createReader(Files.newBufferedReader(Paths.get(fileName)))) {
|
||||
jsonStructure = reader.read();
|
||||
} catch (FileNotFoundException e) {
|
||||
System.out.println("Error to open json file: " + e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public JsonPointerCrud(InputStream stream) {
|
||||
|
||||
JsonReader reader = Json.createReader(stream);
|
||||
jsonStructure = reader.read();
|
||||
reader.close();
|
||||
|
||||
}
|
||||
|
||||
public JsonStructure insert(String key, String value) {
|
||||
|
||||
JsonPointer jsonPointer = Json.createPointer("/" + key);
|
||||
JsonString jsonValue = Json.createValue(value);
|
||||
jsonStructure = jsonPointer.add(jsonStructure, jsonValue);
|
||||
|
||||
return jsonStructure;
|
||||
|
||||
}
|
||||
|
||||
public JsonStructure update(String key, String newValue) {
|
||||
|
||||
JsonPointer jsonPointer = Json.createPointer("/" + key);
|
||||
JsonString jsonNewValue = Json.createValue(newValue);
|
||||
jsonStructure = jsonPointer.replace(jsonStructure, jsonNewValue);
|
||||
|
||||
return jsonStructure;
|
||||
}
|
||||
|
||||
public JsonStructure delete(String key) {
|
||||
|
||||
JsonPointer jsonPointer = Json.createPointer("/" + key);
|
||||
jsonPointer.getValue(jsonStructure);
|
||||
jsonStructure = jsonPointer.remove(jsonStructure);
|
||||
|
||||
return jsonStructure;
|
||||
|
||||
}
|
||||
|
||||
public String fetchValueFromKey(String key) {
|
||||
JsonPointer jsonPointer = Json.createPointer("/" + key);
|
||||
JsonString jsonString = (JsonString) jsonPointer.getValue(jsonStructure);
|
||||
|
||||
return jsonString.getString();
|
||||
}
|
||||
|
||||
public String fetchListValues(String key) {
|
||||
JsonPointer jsonPointer = Json.createPointer("/" + key);
|
||||
JsonObject jsonObject = (JsonObject) jsonPointer.getValue(jsonStructure);
|
||||
|
||||
return jsonObject.toString();
|
||||
}
|
||||
|
||||
public String fetchFullJSON() {
|
||||
JsonPointer jsonPointer = Json.createPointer("");
|
||||
JsonObject jsonObject = (JsonObject) jsonPointer.getValue(jsonStructure);
|
||||
|
||||
return jsonObject.toString();
|
||||
|
||||
}
|
||||
|
||||
public boolean check(String key) {
|
||||
JsonPointer jsonPointer = Json.createPointer("/" + key);
|
||||
boolean found = jsonPointer.containsValue(jsonStructure);
|
||||
|
||||
return found;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
|
||||
</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
</configuration>
|
||||
@@ -0,0 +1,27 @@
|
||||
<!DOCTYPE html>
|
||||
<html ng-app="jsonforms-intro">
|
||||
<head>
|
||||
<title>Introduction to JSONForms</title>
|
||||
<script src="node_modules/jsonforms/dist/jsonforms.js" type="text/javascript"></script>
|
||||
<script src="js/app.js" type="text/javascript"></script>
|
||||
<script src="js/schema.js" type="text/javascript"></script>
|
||||
<script src="js/ui-schema.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container" ng-controller="MyController">
|
||||
<div class="row" id="demo">
|
||||
<div class="col-sm-12">
|
||||
<div class="panel-primary panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><strong>Introduction to JSONForms</strong></h3>
|
||||
</div>
|
||||
<div class="panel-body jsf">
|
||||
Bound data: {{data}}
|
||||
<jsonforms schema="schema" ui-schema="uiSchema" data="data"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
var app = angular.module('jsonforms-intro', ['jsonforms']);
|
||||
app.controller('MyController', ['$scope', 'Schema', 'UISchema', function($scope, Schema, UISchema) {
|
||||
|
||||
$scope.schema = Schema;
|
||||
|
||||
$scope.uiSchema = UISchema;
|
||||
|
||||
$scope.data = {
|
||||
"id": 1,
|
||||
"name": "Lampshade",
|
||||
"price": 1.85
|
||||
};
|
||||
}]);
|
||||
@@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
var app = angular.module('jsonforms-intro');
|
||||
app.value('Schema',
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"title": "Product",
|
||||
"description": "A product from the catalog",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "The unique identifier for a product",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "Name of the product",
|
||||
"type": "string"
|
||||
},
|
||||
"price": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"exclusiveMinimum": true
|
||||
}
|
||||
},
|
||||
"required": ["id", "name", "price"]
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
var app = angular.module('jsonforms-intro');
|
||||
app.value('UISchema',
|
||||
{
|
||||
"type": "HorizontalLayout",
|
||||
"elements": [
|
||||
{
|
||||
"type": "Control",
|
||||
"scope": { "$ref": "#/properties/id" }
|
||||
},
|
||||
{
|
||||
"type": "Control",
|
||||
"scope": { "$ref": "#/properties/name" }
|
||||
},
|
||||
{
|
||||
"type": "Control",
|
||||
"scope": { "$ref": "#/properties/price" }
|
||||
},
|
||||
]
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "jsonforms-intro",
|
||||
"description": "Introduction to JSONForms",
|
||||
"version": "0.0.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"typings": "0.6.5",
|
||||
"jsonforms": "0.0.19",
|
||||
"bootstrap": "3.3.6"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user