How to generate Dart code from json structure












0














The code_build (https://pub.dartlang.org/packages/code_builde) package provides a solution to generate classes and constructors, field and methods for that class.



My ultimate goal is to generate Flutter (https://flutter.io) Widgets based on the json structure given, but I don't know how to do this with the code_build or another package.



So help would be appreciated!










share|improve this question



























    0














    The code_build (https://pub.dartlang.org/packages/code_builde) package provides a solution to generate classes and constructors, field and methods for that class.



    My ultimate goal is to generate Flutter (https://flutter.io) Widgets based on the json structure given, but I don't know how to do this with the code_build or another package.



    So help would be appreciated!










    share|improve this question

























      0












      0








      0







      The code_build (https://pub.dartlang.org/packages/code_builde) package provides a solution to generate classes and constructors, field and methods for that class.



      My ultimate goal is to generate Flutter (https://flutter.io) Widgets based on the json structure given, but I don't know how to do this with the code_build or another package.



      So help would be appreciated!










      share|improve this question













      The code_build (https://pub.dartlang.org/packages/code_builde) package provides a solution to generate classes and constructors, field and methods for that class.



      My ultimate goal is to generate Flutter (https://flutter.io) Widgets based on the json structure given, but I don't know how to do this with the code_build or another package.



      So help would be appreciated!







      dart flutter code-generation






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 12 '18 at 21:57









      Theo BouwmanTheo Bouwman

      392518




      392518
























          1 Answer
          1






          active

          oldest

          votes


















          3














          The general way to write something which outputs Dart code is to wrap up the functionality in a Builder and to perform the code generation with build_runner



          At a high level you'd write a Builder that:




          • Has buildExtensions of {".json": [".dart"]}.

          • Reads in the buildStep.inputId asset and parses the json.

          • Uses code_builder to build up a String and then write it to the output asset.


          Then you'd configure the builder in build.yaml. And either apply it manually to your package, or if you'd like to publish it as a utility it can apply to dependencies.



          Your package would have a dev_dependency on build_runner and then you can execute builds with flutter packages run build_runner build.



          There are more docs at https://github.com/dart-lang/build/tree/master/docs



          You can see an example of a package which does something similar - starts with yaml files and outputs Dart files using code_builder at https://github.com/natebosch/message_builder






          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270688%2fhow-to-generate-dart-code-from-json-structure%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            3














            The general way to write something which outputs Dart code is to wrap up the functionality in a Builder and to perform the code generation with build_runner



            At a high level you'd write a Builder that:




            • Has buildExtensions of {".json": [".dart"]}.

            • Reads in the buildStep.inputId asset and parses the json.

            • Uses code_builder to build up a String and then write it to the output asset.


            Then you'd configure the builder in build.yaml. And either apply it manually to your package, or if you'd like to publish it as a utility it can apply to dependencies.



            Your package would have a dev_dependency on build_runner and then you can execute builds with flutter packages run build_runner build.



            There are more docs at https://github.com/dart-lang/build/tree/master/docs



            You can see an example of a package which does something similar - starts with yaml files and outputs Dart files using code_builder at https://github.com/natebosch/message_builder






            share|improve this answer


























              3














              The general way to write something which outputs Dart code is to wrap up the functionality in a Builder and to perform the code generation with build_runner



              At a high level you'd write a Builder that:




              • Has buildExtensions of {".json": [".dart"]}.

              • Reads in the buildStep.inputId asset and parses the json.

              • Uses code_builder to build up a String and then write it to the output asset.


              Then you'd configure the builder in build.yaml. And either apply it manually to your package, or if you'd like to publish it as a utility it can apply to dependencies.



              Your package would have a dev_dependency on build_runner and then you can execute builds with flutter packages run build_runner build.



              There are more docs at https://github.com/dart-lang/build/tree/master/docs



              You can see an example of a package which does something similar - starts with yaml files and outputs Dart files using code_builder at https://github.com/natebosch/message_builder






              share|improve this answer
























                3












                3








                3






                The general way to write something which outputs Dart code is to wrap up the functionality in a Builder and to perform the code generation with build_runner



                At a high level you'd write a Builder that:




                • Has buildExtensions of {".json": [".dart"]}.

                • Reads in the buildStep.inputId asset and parses the json.

                • Uses code_builder to build up a String and then write it to the output asset.


                Then you'd configure the builder in build.yaml. And either apply it manually to your package, or if you'd like to publish it as a utility it can apply to dependencies.



                Your package would have a dev_dependency on build_runner and then you can execute builds with flutter packages run build_runner build.



                There are more docs at https://github.com/dart-lang/build/tree/master/docs



                You can see an example of a package which does something similar - starts with yaml files and outputs Dart files using code_builder at https://github.com/natebosch/message_builder






                share|improve this answer












                The general way to write something which outputs Dart code is to wrap up the functionality in a Builder and to perform the code generation with build_runner



                At a high level you'd write a Builder that:




                • Has buildExtensions of {".json": [".dart"]}.

                • Reads in the buildStep.inputId asset and parses the json.

                • Uses code_builder to build up a String and then write it to the output asset.


                Then you'd configure the builder in build.yaml. And either apply it manually to your package, or if you'd like to publish it as a utility it can apply to dependencies.



                Your package would have a dev_dependency on build_runner and then you can execute builds with flutter packages run build_runner build.



                There are more docs at https://github.com/dart-lang/build/tree/master/docs



                You can see an example of a package which does something similar - starts with yaml files and outputs Dart files using code_builder at https://github.com/natebosch/message_builder







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 13 '18 at 1:14









                Nate BoschNate Bosch

                78639




                78639






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270688%2fhow-to-generate-dart-code-from-json-structure%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    Xamarin.form Move up view when keyboard appear

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Anylogic : not able to use stopDelay()