Example json
I have created the user.json with http://jsonplaceholder.typicode.com/users.
Check the code folder for more comments.
In this example we are going to read and use a .json
file.
How to start
Create a folder named foobar (please use a better name; any name will do) and create folders bin and src. See example below:
+ foobar
+ bin
+ src
- Main.hx
- build.hxml
The Main.hx
This example is too big to post here, so if you want to check out the complete file visit Main.hx
So the first part of this code is loading the json
file:
var path = Sys.getCwd() + '/assets/users.json';
if(sys.FileSystem.exists(path)){
var str : String = sys.io.File.getContent(path);
} else {
trace ('ERROR: there is not file: $path');
}
convert data (String) to a json
file:
http://api.haxe.org/haxe/Json.html
// trace('str: $str');
json = haxe.Json.parse(str);
And then it's possible to convert the json
to usable input:
for (i in 0 ... _json.length)
{
var _user = json[i];
trace ( "Name: " + _user.name );
}
To make that easier I use typedef
We convert the json data to User
so when we use a IDE it will use autocompletion
typedef User =
{
var id : Int; // 1
var name : String; // Leanne Graham
var username : String; // Bret
var email : String; // Sincere@april.biz
var address : {
var street : String; // Kulas Light
var suite : String; // Apt. 556
var city : String; // Gwenborough
var zipcode : String; // 92998-3874
var geo : {
var lat : String; // -37.3159
var lng : String; // 81.1496
};
};
var phone : String; // 1-770-736-8031 x56442
var website : String; // hildegard.org
var company : {
var name : String; // Romaguera-Crona
var catchPhrase : String; // Multi-layered client-server neural-net
var bs : String; // harness real-time e-markets
};
}
The Haxe build file, build.hxml
There are a lot of different arguments that you are able to pass to the Haxe compiler. These arguments can also be placed into a text file of one per line with the extension hxml. This file can then be passed directly to the Haxe compiler as a build script.
# // build.hxml
-cp src
-main Main
-php bin/www
-dce full
Build js with Haxe
To finish and see what we have, build the file and see the result
- Open your terminal
cd
to the correct folder where you have saved thebuild.hxml
- type
haxe build.hxml
- press enter
You could build everything directly in the terminal.
haxe -cp src -main Main -php bin/www -dce full
It will have the same result