Storing data in JSON or in SQLITE (Android)





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I'm building an application which needs to retrieve data objects during runtime. Each one of the objects has the same structure (couple Strings, booleans and arrays). The size of a given object is relatively small (100-1000bytes). The user will not add/remove/modify elements during runtime so no write operation will be performed on the data. I expect that in the final version the number of object will be certainly below 5000. I will need to search for a given object or filter object based on criteria.



My question is if its sensible to use a JSON file? I love that JSON supports all my datatypes natively and can be edited very easily even from Android Studio. Once I put it to my assets folder it compiles with application seamlessly.



In the other hand SQLITE has the benefits of being a database, so searching, sorting etc would be easier than with a JSON file.










share|improve this question























  • It looks like the DB approach is better here. In case of Json - You will have to read the entire file to find a specific object.

    – Pavel B.
    Jan 3 at 15:59











  • You can do both: sqlite.org/json1.html (assuming the sqlite library used by Android is compiled with that module enabled)

    – Shawn
    Jan 3 at 16:23


















0















I'm building an application which needs to retrieve data objects during runtime. Each one of the objects has the same structure (couple Strings, booleans and arrays). The size of a given object is relatively small (100-1000bytes). The user will not add/remove/modify elements during runtime so no write operation will be performed on the data. I expect that in the final version the number of object will be certainly below 5000. I will need to search for a given object or filter object based on criteria.



My question is if its sensible to use a JSON file? I love that JSON supports all my datatypes natively and can be edited very easily even from Android Studio. Once I put it to my assets folder it compiles with application seamlessly.



In the other hand SQLITE has the benefits of being a database, so searching, sorting etc would be easier than with a JSON file.










share|improve this question























  • It looks like the DB approach is better here. In case of Json - You will have to read the entire file to find a specific object.

    – Pavel B.
    Jan 3 at 15:59











  • You can do both: sqlite.org/json1.html (assuming the sqlite library used by Android is compiled with that module enabled)

    – Shawn
    Jan 3 at 16:23














0












0








0








I'm building an application which needs to retrieve data objects during runtime. Each one of the objects has the same structure (couple Strings, booleans and arrays). The size of a given object is relatively small (100-1000bytes). The user will not add/remove/modify elements during runtime so no write operation will be performed on the data. I expect that in the final version the number of object will be certainly below 5000. I will need to search for a given object or filter object based on criteria.



My question is if its sensible to use a JSON file? I love that JSON supports all my datatypes natively and can be edited very easily even from Android Studio. Once I put it to my assets folder it compiles with application seamlessly.



In the other hand SQLITE has the benefits of being a database, so searching, sorting etc would be easier than with a JSON file.










share|improve this question














I'm building an application which needs to retrieve data objects during runtime. Each one of the objects has the same structure (couple Strings, booleans and arrays). The size of a given object is relatively small (100-1000bytes). The user will not add/remove/modify elements during runtime so no write operation will be performed on the data. I expect that in the final version the number of object will be certainly below 5000. I will need to search for a given object or filter object based on criteria.



My question is if its sensible to use a JSON file? I love that JSON supports all my datatypes natively and can be edited very easily even from Android Studio. Once I put it to my assets folder it compiles with application seamlessly.



In the other hand SQLITE has the benefits of being a database, so searching, sorting etc would be easier than with a JSON file.







android json sqlite






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 3 at 15:18









IstvanbIstvanb

98313




98313













  • It looks like the DB approach is better here. In case of Json - You will have to read the entire file to find a specific object.

    – Pavel B.
    Jan 3 at 15:59











  • You can do both: sqlite.org/json1.html (assuming the sqlite library used by Android is compiled with that module enabled)

    – Shawn
    Jan 3 at 16:23



















  • It looks like the DB approach is better here. In case of Json - You will have to read the entire file to find a specific object.

    – Pavel B.
    Jan 3 at 15:59











  • You can do both: sqlite.org/json1.html (assuming the sqlite library used by Android is compiled with that module enabled)

    – Shawn
    Jan 3 at 16:23

















It looks like the DB approach is better here. In case of Json - You will have to read the entire file to find a specific object.

– Pavel B.
Jan 3 at 15:59





It looks like the DB approach is better here. In case of Json - You will have to read the entire file to find a specific object.

– Pavel B.
Jan 3 at 15:59













You can do both: sqlite.org/json1.html (assuming the sqlite library used by Android is compiled with that module enabled)

– Shawn
Jan 3 at 16:23





You can do both: sqlite.org/json1.html (assuming the sqlite library used by Android is compiled with that module enabled)

– Shawn
Jan 3 at 16:23












2 Answers
2






active

oldest

votes


















1














There's nothing wrong with storing data in a json file. Its easily parsable, and a common means of storing small amounts of data, like settings. The disadvantages of it for storing large amounts of data is that it doesn't provide searchability, and getting access to be as efficient would require a lot of work.



You may want split the difference and look at a document based db. They basically store JSON, but still allow querying, handle caching, etc. This is assuming you have a significant amount of data, of course.






share|improve this answer































    0














    why not sharedpreferences and Gson, u can save your json as list of object and implement your search methods



    in your case i think that using file is the best idea, the access time to a database is much greater than that for a file






    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%2f54025099%2fstoring-data-in-json-or-in-sqlite-android%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














      There's nothing wrong with storing data in a json file. Its easily parsable, and a common means of storing small amounts of data, like settings. The disadvantages of it for storing large amounts of data is that it doesn't provide searchability, and getting access to be as efficient would require a lot of work.



      You may want split the difference and look at a document based db. They basically store JSON, but still allow querying, handle caching, etc. This is assuming you have a significant amount of data, of course.






      share|improve this answer




























        1














        There's nothing wrong with storing data in a json file. Its easily parsable, and a common means of storing small amounts of data, like settings. The disadvantages of it for storing large amounts of data is that it doesn't provide searchability, and getting access to be as efficient would require a lot of work.



        You may want split the difference and look at a document based db. They basically store JSON, but still allow querying, handle caching, etc. This is assuming you have a significant amount of data, of course.






        share|improve this answer


























          1












          1








          1







          There's nothing wrong with storing data in a json file. Its easily parsable, and a common means of storing small amounts of data, like settings. The disadvantages of it for storing large amounts of data is that it doesn't provide searchability, and getting access to be as efficient would require a lot of work.



          You may want split the difference and look at a document based db. They basically store JSON, but still allow querying, handle caching, etc. This is assuming you have a significant amount of data, of course.






          share|improve this answer













          There's nothing wrong with storing data in a json file. Its easily parsable, and a common means of storing small amounts of data, like settings. The disadvantages of it for storing large amounts of data is that it doesn't provide searchability, and getting access to be as efficient would require a lot of work.



          You may want split the difference and look at a document based db. They basically store JSON, but still allow querying, handle caching, etc. This is assuming you have a significant amount of data, of course.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 3 at 16:11









          Gabe SechanGabe Sechan

          68.7k965100




          68.7k965100

























              0














              why not sharedpreferences and Gson, u can save your json as list of object and implement your search methods



              in your case i think that using file is the best idea, the access time to a database is much greater than that for a file






              share|improve this answer




























                0














                why not sharedpreferences and Gson, u can save your json as list of object and implement your search methods



                in your case i think that using file is the best idea, the access time to a database is much greater than that for a file






                share|improve this answer


























                  0












                  0








                  0







                  why not sharedpreferences and Gson, u can save your json as list of object and implement your search methods



                  in your case i think that using file is the best idea, the access time to a database is much greater than that for a file






                  share|improve this answer













                  why not sharedpreferences and Gson, u can save your json as list of object and implement your search methods



                  in your case i think that using file is the best idea, the access time to a database is much greater than that for a file







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 3 at 16:27









                  Ahmed.essAhmed.ess

                  17318




                  17318






























                      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%2f54025099%2fstoring-data-in-json-or-in-sqlite-android%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

                      MongoDB - Not Authorized To Execute Command

                      How to fix TextFormField cause rebuild widget in Flutter

                      in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith