组合两个JSON文件
Combining two JSON files
现在我正在输入一个JSON提要的内容并显示
(function () {
var twitterLikes = "data.json";
//Grab the JSON
$.getJSON(twitterLikes, {
format: "json"
})
.done(function (data) {
//iterate through each item
$.each(data.likes, function (i, likes) {
//Print out JSON results
var twitterLike = '<div class="twitterLike" id="' + likes.id + '"><img class="twitterLikeImage" src="' + likes.image + '"><p class="twitterLikeCaption">' + likes.caption + '</p><a class="twitterLikeLink" href="' + likes.link + '" target="_blank">See original post</a></div>';
//Append printed reuslts to parent container
document.getElementById("twitterLikes").innerHTML += twitterLike;
//Cap the results
if (i === 12) {
return false;
}
});
});
})();
这需要修改。我有另一个JSON文件,我已经创建了某种"锁定"文件,它基本上将特定的帖子锁定在给定的位置。
{ "locked":[{"id":90210, "position":3}] }
我该如何修改我的函数来解析第二个JSON文件(锁定)。基本上查看锁定的文件,看看是否有id和位置。将该id与第一个JSON文件(data.JSON)匹配。根据id将帖子锁定到特定位置。浏览data.json并绘制跳过锁定位置的其余帖子。最多只能显示12个。
我不确定我是否理解您的锁定机制,但上有一些变体(我使用了lodash来提供帮助,但没有必要)
$.getJSON("data.json", { format: "json" })
.done(function (data) {
$.getJSON("locked.json", {format: "json"})
.done(function(locked){
var lockedIds = _.map(locked, function(l){
return l.id
})
$.each(data.likes, function(i, likes){
// If not locked then process
if (!_.contains(likes.id, lockedIds)){
// do something here
}
})
})
}
希望这能有所帮助。
谢谢Joe。到目前为止,我得到的是:$.getJSON("data.json",{format:"json"})
.done(function( data ) {
$.getJSON("locked.json", {format: "json"})
.done(function(locked){
var lockedIds = _.map(locked, function(l){
return l.id
})
//iterate through each item
$.each( data.likes, function( i, likes ) {
if (!_.contains(likes.id, lockedIds)){
//Print out JSON results
var twitterLike='<div class="twitterLike" id="'+likes.id+'"><img class="twitterLikeImage" src="'+likes.image+'"><p class="twitterLikeCaption">'+likes.caption+'</p><a class="twitterLikeLink" href="'+likes.link+'" target="_blank">See original post</a></div>';
//Append printed reuslts to parent container
document.getElementById("twitterLikes").innerHTML+=twitterLike;
}
//Cap the results
if ( i === 12 ) {
return false;
}
});
});
})();
我好像有点不对劲。你是对的,我不一定需要把两者结合起来。更多的人需要将这些帖子显示在"锁定"的位置,然后从原始提要移到其他位置。
DATA.JSON
{
"count": 2,
"likes": [
{
"link": "http://twitter.com/p/tQc2YNh3ox/",
"caption": "Yada",
"profile_pic": "",
"likes": 27,
"id": "815278414704900657_1364335477",
"image": "http://twitter.com/pic1.png"
}, {
"link": "http://twitter.com/p/tQc2YNh3ox2/",
"caption": "Yada2",
"profile_pic": "",
"likes": 27,
"id": "815078520979421610_1364335477",
"image": "http://twitter.com/pic2.png"
}
]
}
LOCKED.JSON
{
"likes": [
{
"id": "815278414704900657_1364335477",
"position": 3
}, {
"id": "815078520979421610_1364335477",
"position": 5
}
]
}
相关文章:
- 如何使用 node.js 比较两个 json 数组
- 将两个Json提要合并为一个,并按时间排序
- 如何使用jQuery合并两个json对象
- '对象不是函数'当使用angular连接两个json数组时
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 如何将两个json对象合并为一个json
- AngularJS:用两个JSON数组填充复选框列表,最初检查了一个数组中的一些项
- 如何从.ajax调用返回两个JSON数组
- 通过比较另外两个json对象来创建json对象
- 在不使用jQuery的情况下连接两个JSON对象
- 两个 JSON 请求的列表
- Angularjs - 组合两个 json 对象
- JavaScript 中通过公共属性“交叉”两个 JSON 对象数组的最佳方式
- 比较来自输入 AngularJS 的两个 JSON 对象
- 比较两个JSON数组并重新排列新的JSON数组格式
- 如何从两个 JSON 数组获取增量
- 遍历两个 JSON 数组 Ajax
- 同时在窗体中显示两个 JSON 值
- Javascript:根据其他字段合并两个JSON
- 如何合并两个 JSON 文件,然后检索它