Merge commit 'bf75fd9'
[simantics/platform.git] / bundles / org.simantics.scl.data / scl / Data / Json.md
1 # Basic functions\r
2 \r
3 ::value[toJsonString, fromJsonString]\r
4 \r
5 # Supported value types\r
6 \r
7 This module supports the following value types:\r
8 \r
9 ```\r
10 instance Json String\r
11 instance Json Short\r
12 instance Json Integer\r
13 instance Json Long\r
14 instance Json Float\r
15 instance Json Double\r
16 \r
17 instance (Json a) => Json [a]\r
18 instance (Json a) => Json (Maybe a)\r
19 \r
20 instance Json ()\r
21 instance (Json a, Json b) => Json (a, b)\r
22 instance (Json a, Json b, Json c) => Json (a, b, c)\r
23 instance (Json a, Json b, Json c, Json d) => Json (a, b, c, d)\r
24 instance (Json a, Json b, Json c, Json d, Json e) => Json (a, b, c, d, e) \r
25 \r
26 instance Json Json\r
27 ```\r
28 \r
29 # Generic JSON Type\r
30 \r
31 ::data[Json, JsonField]\r
32 \r
33 # Adding support for additional value types\r
34 \r
35 ::data[JsonGenerator, JsonParser]\r
36 ::class[Json]\r
37 \r
38 It is enough to implement `toJson` and `fromJson`.\r
39 \r
40 # Undocumented entities\r
41 \r
42 ::undocumented[]