This repository was archived by the owner on Aug 9, 2025. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathMain.hx
More file actions
47 lines (35 loc) · 1.02 KB
/
Copy pathMain.hx
File metadata and controls
47 lines (35 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package;
// http://api.haxe.org/haxe/Json.html
// http://haxe.org/manual/std-Json-encoding.html
// http://haxe.org/manual/std-Json-parsing.html
// http://stackoverflow.com/questions/15530645/how-can-i-iterate-dynamic-object-in-haxe
typedef MyData = {
var name: String;
var tags: Array<String>;
}
class Main {
public static function main () {
trace("--------------------------------------------------------------");
trace('--- JSON: parse struct from json-string ---');
var s = '{
"name": "Haxe",
"tags": ["awesome"]
}';
var o1:MyData = haxe.Json.parse(s);
trace(o1.name);
trace(o1.tags[0]);
s = '{
"rating": 5
}';
var o2 = haxe.Json.parse(s);
trace("o2.rating: " + Reflect.field(o2, "rating"));
trace("--------------------------------------------------------------");
trace('--- JSON: struct to string ---');
var o3:MyData = {
"name": "HaXe Lang",
"tags": ["asd", "qwe", "zxc"]
};
trace(o3);
trace("Convert data to json-string: " + haxe.Json.stringify(o3));
}
}