public string toJSON(bool show_all)
{
- var builder = new Json.Builder ();
-
- builder.begin_object ();
-
- builder.set_member_name ("name");
- builder.add_string_value (this.name);
-
-
- builder.set_member_name ("fn");
- builder.add_string_value (this.fn);
-
- builder.set_member_name ("xtype");
- builder.add_string_value (this.xtype);
-
- builder.set_member_name ("runhtml");
- builder.add_string_value (this.runhtml);
-
-
- builder.set_member_name ("rootURL");
- builder.add_string_value (this.rootURL);
- builder.set_member_name ("base_template");
- builder.add_string_value (this.base_template);
- // file ??? try/false?
- builder.set_member_name ("paths");
+ this.json_project_data.set_string_member("name", this.name);
+ this.json_project_data.set_string_member("fn", this.fn);
+ this.json_project_data.set_string_member("xtype", this.xtype);
+ this.json_project_data.set_string_member("runhtml", this.runhtml);
+ this.json_project_data.set_string_member("rootURL", this.rootURL);
+ this.json_project_data.set_string_member("base_template", this.base_template);
+ this.json_project_data.set_string_member("rootURL", this.rootURL);
-
- builder.begin_object ();
+
+
+ var paths = new Json.Object();
var iter = this.paths.map_iterator();
while (iter.next()) {
- builder.set_member_name (iter.get_key());
- builder.add_string_value("path");
+ paths.set_string_member(iter.get_key(), "path");
}
- builder.end_object ();
+ this.json_project_data.set_object_member("paths", paths);
+
if (show_all) {
- builder.set_member_name ("files");
- builder.begin_array ();
+ var files = new Json.Array();
+
+
var fiter = this.files.map_iterator();
while (fiter.next()) {
- builder.add_string_value (fiter.get_key());
+ files.add_string_element (fiter.get_key());
}
+ this.json_project_data.set_array_member("files", files);
-
- builder.end_array ();
}
- builder.end_object ();
-
var generator = new Json.Generator ();
- var root = builder.get_root ();
+ var root = new Json.Node(Json.NodeType.OBJECT);
+ root.init_object(this.json_project_data);
generator.set_root (root);
if (show_all) {
generator.pretty = true;