src/Project/Project.vala
authorAlan Knowles <alan@roojs.com>
Mon, 13 Apr 2015 09:37:16 +0000 (17:37 +0800)
committerAlan Knowles <alan@roojs.com>
Mon, 13 Apr 2015 09:37:16 +0000 (17:37 +0800)
src/Project/Project.vala

index 3d61f49..7822b2e 100644 (file)
@@ -242,60 +242,43 @@ namespace Project {
                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;