Commit 70a6cd147107284cc0e7a478665ece613cbc8777
1 parent
24d72a4d
added functions to format json to javascript
Showing
1 changed file
with
65 additions
and
0 deletions
Show diff stats
web/CXM_json.anubis
| @@ -122,6 +122,12 @@ public define Printable_tree | @@ -122,6 +122,12 @@ public define Printable_tree | ||
| 122 | ( | 122 | ( |
| 123 | JsonValue json | 123 | JsonValue json |
| 124 | ). | 124 | ). |
| 125 | + | ||
| 126 | +public define Printable_tree | ||
| 127 | + to_javascript | ||
| 128 | + ( | ||
| 129 | + JsonValue json | ||
| 130 | + ). | ||
| 125 | 131 | ||
| 126 | public define Printable_tree | 132 | public define Printable_tree |
| 127 | format_json_member | 133 | format_json_member |
| @@ -131,6 +137,13 @@ public define Printable_tree | @@ -131,6 +137,13 @@ public define Printable_tree | ||
| 131 | if member is json_member(name, value) then | 137 | if member is json_member(name, value) then |
| 132 | [ "\"", name, "\":" . format_json(value) ]. | 138 | [ "\"", name, "\":" . format_json(value) ]. |
| 133 | 139 | ||
| 140 | +public define Printable_tree | ||
| 141 | + json_member_to_js | ||
| 142 | + ( | ||
| 143 | + JsonMember member | ||
| 144 | + ) = | ||
| 145 | + if member is json_member(name, value) then | ||
| 146 | + [ "\"", name, "\":" . to_javascript(value) ]. | ||
| 134 | 147 | ||
| 135 | define Printable_tree | 148 | define Printable_tree |
| 136 | format_json_object | 149 | format_json_object |
| @@ -142,6 +155,17 @@ define Printable_tree | @@ -142,6 +155,17 @@ define Printable_tree | ||
| 142 | [] then [], | 155 | [] then [], |
| 143 | [h . t] then [ format_json_member(h), (if t is [] then "" else ",") . format_json_object(t) ] | 156 | [h . t] then [ format_json_member(h), (if t is [] then "" else ",") . format_json_object(t) ] |
| 144 | }. | 157 | }. |
| 158 | + | ||
| 159 | +define Printable_tree | ||
| 160 | + json_object_to_js | ||
| 161 | + ( | ||
| 162 | + List(JsonMember) members | ||
| 163 | + ) = | ||
| 164 | + if members is | ||
| 165 | + { | ||
| 166 | + [] then [], | ||
| 167 | + [h . t] then [ json_member_to_js(h), (if t is [] then "" else ",") . json_object_to_js(t) ] | ||
| 168 | + }. | ||
| 145 | 169 | ||
| 146 | define Printable_tree | 170 | define Printable_tree |
| 147 | format_json_array | 171 | format_json_array |
| @@ -153,6 +177,17 @@ define Printable_tree | @@ -153,6 +177,17 @@ define Printable_tree | ||
| 153 | [] then [], | 177 | [] then [], |
| 154 | [h . t] then [ format_json(h), (if t is [] then "" else ",") . format_json_array(t) ] | 178 | [h . t] then [ format_json(h), (if t is [] then "" else ",") . format_json_array(t) ] |
| 155 | }. | 179 | }. |
| 180 | + | ||
| 181 | +define Printable_tree | ||
| 182 | + json_array_to_js | ||
| 183 | + ( | ||
| 184 | + List(JsonValue) values | ||
| 185 | + ) = | ||
| 186 | + if values is | ||
| 187 | + { | ||
| 188 | + [] then [], | ||
| 189 | + [h . t] then [ to_javascript(h), (if t is [] then "" else ",") . format_json_array(t) ] | ||
| 190 | + }. | ||
| 156 | 191 | ||
| 157 | public define Printable_tree | 192 | public define Printable_tree |
| 158 | format_json | 193 | format_json |
| @@ -170,6 +205,36 @@ public define Printable_tree | @@ -170,6 +205,36 @@ public define Printable_tree | ||
| 170 | json_null then str_pt("null", []) | 205 | json_null then str_pt("null", []) |
| 171 | }. | 206 | }. |
| 172 | 207 | ||
| 208 | +public define Printable_tree | ||
| 209 | + to_javascript | ||
| 210 | + ( | ||
| 211 | + JsonValue json | ||
| 212 | + ) = | ||
| 213 | + if json is | ||
| 214 | + { | ||
| 215 | + json_object(members) then [ "{", json_object_to_js(members), "}" . [] ], | ||
| 216 | + json_array(values) then [ "[", json_array_to_js(values), "]" . [] ], | ||
| 217 | + json_int(i) then int_pt(i, []), | ||
| 218 | + json_float(f, p) then str_pt(float_to_string(f, p), []), | ||
| 219 | + json_string(s) then str_pt("\"" + format_json_esc(s) + "\"", []), | ||
| 220 | + json_bool(b) then str_pt(if b then "true" else "false", []), | ||
| 221 | + json_null then str_pt("null", []) | ||
| 222 | + }. | ||
| 223 | + | ||
| 224 | +public define String | ||
| 225 | + format_json | ||
| 226 | + ( | ||
| 227 | + JsonValue json | ||
| 228 | + ) = | ||
| 229 | + to_String(format_json(json)). | ||
| 230 | + | ||
| 231 | +public define String | ||
| 232 | + to_javascript | ||
| 233 | + ( | ||
| 234 | + JsonValue json | ||
| 235 | + ) = | ||
| 236 | + to_String(to_javascript(json)). | ||
| 237 | + | ||
| 173 | public define WriteFileResult | 238 | public define WriteFileResult |
| 174 | write_to_file | 239 | write_to_file |
| 175 | ( | 240 | ( |