admin管理员组

文章数量:1356914

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 bine the JSON files into one? If I concatenate the JSON files together, it no longer works with getJSON().

UPDATE - clarified my question

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 bine the JSON files into one? If I concatenate the JSON files together, it no longer works with getJSON().

UPDATE - clarified my question

Share Improve this question edited Apr 26, 2010 at 21:33 frankadelic asked Apr 26, 2010 at 20:49 frankadelicfrankadelic 20.8k37 gold badges114 silver badges167 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4

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}]}

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.

本文标签: javascriptCombine multiple JSON files into one retrieve using jQuerygetJSON()Stack Overflow