Combine multiple JSON files into one; retrieve using jQuery/getJSON()

11,241

Solution 1

If you really want to reduce the number of HTTP requests from the client, one possible way is like this:

  1. Build a server side proxy that get JSon files from the third party data sources
  2. Merge your 3 JSon files in one single JSon file
  3. Make a single $.getJSON() call to your single JSon from client

To merge Json files, look at this post.

Solution 2

Either as individual attributes or as an array

{
 "data1":{stuff for data1},
 "data2":{stuff for data2},
 "data3":{stuff for data3}
}

or

{"response":[
  {stuff for data1},
  {stuff for data2},
  {stuff for data3}]}
Share:
11,241
frankadelic
Author by

frankadelic

Updated on June 04, 2022

Comments

  • frankadelic
    frankadelic almost 2 years

    I have some jQuery code which retrieves content using getJSON(). There are n JSON files, which are retrieved from the server as needed:

    /json-content/data0.json

    /json-content/data1.json

    /json-content/data2.json

    etc...

    Instead, I want to store all the JSON in a single file to reduce the number of HTTP requests needed to retrieve the data.

    What is the best way to combine the JSON files into one? If I concatenate the JSON files together, it no longer works with getJSON().

    UPDATE - clarified my question