组合JSON文件
Combine JSON files?
我发现的所有与此相关的问题都是关于组合JSON对象和/或字符串的。我正在使用一个名为"Fuse"的jQuery插件,用于搜索文件的内容(此处repo:https://github.com/krisk/Fuse)。这是我目前掌握的代码。
$.getJSON("data/bn1.json", function(data) {
start(data);
});
$.getJSON("data/bn2.json", function(data2) {
start(data2);
});
两个JSON文件看起来都是这样的(为了简洁起见,缩写):
[
{
"number": "001",
"name": "Cannon",
"rarity": "*",
"damage": "40",
"element": "Normal",
"description": "A nice, big Cannon!"
},
{
"number": "002",
"name": "HiCannon",
"rarity": "**",
"damage": "80",
"element": "Normal",
"description": "A nice, big Cannon!"
},
{
"number": "003",
"name": "M-Cannon",
"rarity": "***",
"damage": "120",
"element": "Normal",
"description": "A nice, big Cannon!"
}
]
最后一个要调用的JSON文件(在本例中为bn2.json
)是我搜索时显示的文件。我想搜索两个以上的文件(将来会是六个文件)。我的项目的完整JS文件在这里:https://github.com/IdeasNeverCease/Gingnet/blob/master/scripts/gingnet.js(你也可以在那里找到我的JSON文件)。
如果有人能为我指明正确的方向,我将不胜感激
您的问题归结为"如何合并数组?"您可以使用Array.concat().
var allData = [];
$.getJSON("data/bn1.json", function(data) {
allData = allData.concat(data);
});
$.getJSON("data/bn2.json", function(data2) {
allData = allData.concat(data);
});
由于您得到了多个文件,因此最好使用promise将这些文件打包并一次性处理。未测试,但这应该让你开始:
var urls = [
'data/bn1.json',
'data/bn2.json',
'data/bn3.json'
// etc.
];
var deferreds = [];
$.each(urls, function (index, url) {
deferreds.push($.getJSON(url)); // Request all data simultaneously
});
$.when.apply($, deferreds).then(function () { // We have all data, merge it
var data = [];
$.each(arguments, function (index, chunk) {
data = data.concat(chunk);
});
start(data); // Do whatever you want to this new collection of data
});
多亏了Brad,我想出了一个解决方案:
var allData = [];
$.getJSON("data/bn1.json", function(data) {
allData = allData.concat(data);
start(allData);
});
$.getJSON("data/bn2.json", function(data2) {
allData = allData.concat(data2);
start(allData);
});
万岁!
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 不显示带有本地json文件数据的谷歌地图脚本
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 加载两个具有相同父密钥名称的json文件
- 使用JSON文件中的变量(字符串)填充文本区域
- 动态显示JSON文件内容
- 将JSON转换为放入Sdcard中的CSV文件
- 正在尝试将JSON文件放入JS数组
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 单击按钮更改加载到表中的JSON文件
- 创建一个包含两个文件 json 的 Angularjs 过滤器
- Multer上传文件+JSON对象
- 使用node.js读取和写入文件(JSON)
- 如何在angularjs中设置变量's值来上传文件json数据
- 向现有文件. Json写入Json,没有“语法错误”
- 如何保存更新json(文件json)与jquery或javascript
- AngularJS:当使用$http请求一个文件(json content)时发生SyntaxError
- 如何简化此代码?将文件json转换为数组json
- 如何从外部文件JSON创建JAVASCRIPT数组