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 | 122 | ( |
| 123 | 123 | JsonValue json |
| 124 | 124 | ). |
| 125 | + | |
| 126 | +public define Printable_tree | |
| 127 | + to_javascript | |
| 128 | + ( | |
| 129 | + JsonValue json | |
| 130 | + ). | |
| 125 | 131 | |
| 126 | 132 | public define Printable_tree |
| 127 | 133 | format_json_member |
| ... | ... | @@ -131,6 +137,13 @@ public define Printable_tree |
| 131 | 137 | if member is json_member(name, value) then |
| 132 | 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 | 148 | define Printable_tree |
| 136 | 149 | format_json_object |
| ... | ... | @@ -142,6 +155,17 @@ define Printable_tree |
| 142 | 155 | [] then [], |
| 143 | 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 | 170 | define Printable_tree |
| 147 | 171 | format_json_array |
| ... | ... | @@ -153,6 +177,17 @@ define Printable_tree |
| 153 | 177 | [] then [], |
| 154 | 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 | 192 | public define Printable_tree |
| 158 | 193 | format_json |
| ... | ... | @@ -170,6 +205,36 @@ public define Printable_tree |
| 170 | 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 | 238 | public define WriteFileResult |
| 174 | 239 | write_to_file |
| 175 | 240 | ( | ... | ... |