Ionic read local JSON file












1















I am trying to read a local JSON file in Ionic 3. I have saved the JSON file in assets folder as csvjson.json



I call the following function inside one of the services.



getProducts() {
console.log('Inside getProducts')



return this.http.get(this.apiHost)
.map((response: Response) => {
console.log(response);
return response.json();
});


}



and then store the result in



myArray = this.databaseprovider.getProducts();
console.log("Returned from getProducts:" + myArray.length);


However I get the output as




Returned from getProducts:undefined




Can you pls suggest where I am going wrong?










share|improve this question























  • from the above code not getting that what exactly you are doing explain it more

    – Soumya B. Athani
    Jan 3 at 5:05











  • In the http.get one does not need to call map anymore as it returns a json already. Thus I used the code below. this.http.get<any>('assets/csvjson.json') .subscribe(data => { data.forEach((item) => { console.log(item); console.log(item.Category);

    – shubham
    Jan 9 at 21:45


















1















I am trying to read a local JSON file in Ionic 3. I have saved the JSON file in assets folder as csvjson.json



I call the following function inside one of the services.



getProducts() {
console.log('Inside getProducts')



return this.http.get(this.apiHost)
.map((response: Response) => {
console.log(response);
return response.json();
});


}



and then store the result in



myArray = this.databaseprovider.getProducts();
console.log("Returned from getProducts:" + myArray.length);


However I get the output as




Returned from getProducts:undefined




Can you pls suggest where I am going wrong?










share|improve this question























  • from the above code not getting that what exactly you are doing explain it more

    – Soumya B. Athani
    Jan 3 at 5:05











  • In the http.get one does not need to call map anymore as it returns a json already. Thus I used the code below. this.http.get<any>('assets/csvjson.json') .subscribe(data => { data.forEach((item) => { console.log(item); console.log(item.Category);

    – shubham
    Jan 9 at 21:45
















1












1








1








I am trying to read a local JSON file in Ionic 3. I have saved the JSON file in assets folder as csvjson.json



I call the following function inside one of the services.



getProducts() {
console.log('Inside getProducts')



return this.http.get(this.apiHost)
.map((response: Response) => {
console.log(response);
return response.json();
});


}



and then store the result in



myArray = this.databaseprovider.getProducts();
console.log("Returned from getProducts:" + myArray.length);


However I get the output as




Returned from getProducts:undefined




Can you pls suggest where I am going wrong?










share|improve this question














I am trying to read a local JSON file in Ionic 3. I have saved the JSON file in assets folder as csvjson.json



I call the following function inside one of the services.



getProducts() {
console.log('Inside getProducts')



return this.http.get(this.apiHost)
.map((response: Response) => {
console.log(response);
return response.json();
});


}



and then store the result in



myArray = this.databaseprovider.getProducts();
console.log("Returned from getProducts:" + myArray.length);


However I get the output as




Returned from getProducts:undefined




Can you pls suggest where I am going wrong?







json angular ionic-framework






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 2 at 21:54









shubhamshubham

93




93













  • from the above code not getting that what exactly you are doing explain it more

    – Soumya B. Athani
    Jan 3 at 5:05











  • In the http.get one does not need to call map anymore as it returns a json already. Thus I used the code below. this.http.get<any>('assets/csvjson.json') .subscribe(data => { data.forEach((item) => { console.log(item); console.log(item.Category);

    – shubham
    Jan 9 at 21:45





















  • from the above code not getting that what exactly you are doing explain it more

    – Soumya B. Athani
    Jan 3 at 5:05











  • In the http.get one does not need to call map anymore as it returns a json already. Thus I used the code below. this.http.get<any>('assets/csvjson.json') .subscribe(data => { data.forEach((item) => { console.log(item); console.log(item.Category);

    – shubham
    Jan 9 at 21:45



















from the above code not getting that what exactly you are doing explain it more

– Soumya B. Athani
Jan 3 at 5:05





from the above code not getting that what exactly you are doing explain it more

– Soumya B. Athani
Jan 3 at 5:05













In the http.get one does not need to call map anymore as it returns a json already. Thus I used the code below. this.http.get<any>('assets/csvjson.json') .subscribe(data => { data.forEach((item) => { console.log(item); console.log(item.Category);

– shubham
Jan 9 at 21:45







In the http.get one does not need to call map anymore as it returns a json already. Thus I used the code below. this.http.get<any>('assets/csvjson.json') .subscribe(data => { data.forEach((item) => { console.log(item); console.log(item.Category);

– shubham
Jan 9 at 21:45














2 Answers
2






active

oldest

votes


















1














Put the <file-name>.json file in assets folder and change the request to following,



public getProducts() { 
return new Promise((resolve, reject) => {
this._http.get("assets/<file-name>.json")
.map((response: Response) => {
console.log(response);
resolve(response.json());
});
});
}



Component file




this.databaseprovider.getProducts().then((result)=>{
myArray = result;
});
console.log("Returned from getProducts:" + myArray.length);





share|improve this answer

































    0














    When you call it in your Typescript File of your Page for example called yourPage.ts in the yourPage folder you can access the local JSON File by importing it:



    yourPage.ts:



    import * as JSONdata from "../../assets/csvjson.json" //You can name 'JSONdata' as you want


    To call it:



    getProducts() {
    console.log(JSONdata);
    }





    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%2f54013665%2fionic-read-local-json-file%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      Put the <file-name>.json file in assets folder and change the request to following,



      public getProducts() { 
      return new Promise((resolve, reject) => {
      this._http.get("assets/<file-name>.json")
      .map((response: Response) => {
      console.log(response);
      resolve(response.json());
      });
      });
      }



      Component file




      this.databaseprovider.getProducts().then((result)=>{
      myArray = result;
      });
      console.log("Returned from getProducts:" + myArray.length);





      share|improve this answer






























        1














        Put the <file-name>.json file in assets folder and change the request to following,



        public getProducts() { 
        return new Promise((resolve, reject) => {
        this._http.get("assets/<file-name>.json")
        .map((response: Response) => {
        console.log(response);
        resolve(response.json());
        });
        });
        }



        Component file




        this.databaseprovider.getProducts().then((result)=>{
        myArray = result;
        });
        console.log("Returned from getProducts:" + myArray.length);





        share|improve this answer




























          1












          1








          1







          Put the <file-name>.json file in assets folder and change the request to following,



          public getProducts() { 
          return new Promise((resolve, reject) => {
          this._http.get("assets/<file-name>.json")
          .map((response: Response) => {
          console.log(response);
          resolve(response.json());
          });
          });
          }



          Component file




          this.databaseprovider.getProducts().then((result)=>{
          myArray = result;
          });
          console.log("Returned from getProducts:" + myArray.length);





          share|improve this answer















          Put the <file-name>.json file in assets folder and change the request to following,



          public getProducts() { 
          return new Promise((resolve, reject) => {
          this._http.get("assets/<file-name>.json")
          .map((response: Response) => {
          console.log(response);
          resolve(response.json());
          });
          });
          }



          Component file




          this.databaseprovider.getProducts().then((result)=>{
          myArray = result;
          });
          console.log("Returned from getProducts:" + myArray.length);






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jan 3 at 16:18

























          answered Jan 3 at 6:17









          manish kumarmanish kumar

          1,55311033




          1,55311033

























              0














              When you call it in your Typescript File of your Page for example called yourPage.ts in the yourPage folder you can access the local JSON File by importing it:



              yourPage.ts:



              import * as JSONdata from "../../assets/csvjson.json" //You can name 'JSONdata' as you want


              To call it:



              getProducts() {
              console.log(JSONdata);
              }





              share|improve this answer




























                0














                When you call it in your Typescript File of your Page for example called yourPage.ts in the yourPage folder you can access the local JSON File by importing it:



                yourPage.ts:



                import * as JSONdata from "../../assets/csvjson.json" //You can name 'JSONdata' as you want


                To call it:



                getProducts() {
                console.log(JSONdata);
                }





                share|improve this answer


























                  0












                  0








                  0







                  When you call it in your Typescript File of your Page for example called yourPage.ts in the yourPage folder you can access the local JSON File by importing it:



                  yourPage.ts:



                  import * as JSONdata from "../../assets/csvjson.json" //You can name 'JSONdata' as you want


                  To call it:



                  getProducts() {
                  console.log(JSONdata);
                  }





                  share|improve this answer













                  When you call it in your Typescript File of your Page for example called yourPage.ts in the yourPage folder you can access the local JSON File by importing it:



                  yourPage.ts:



                  import * as JSONdata from "../../assets/csvjson.json" //You can name 'JSONdata' as you want


                  To call it:



                  getProducts() {
                  console.log(JSONdata);
                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 3 at 6:10









                  JonathanJonathan

                  1128




                  1128






























                      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.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54013665%2fionic-read-local-json-file%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







                      Popular posts from this blog

                      Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

                      Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

                      A Topological Invariant for $pi_3(U(n))$