连接两个json文件
concatenate two json file
我有两个json文件:
F1.js:
{
"A": {
"time": "2015-11-26T08:20:15.130Z",
},
"B": {
"time": "2015-11-26T08:30:19.432Z",
{
"C": {
"time": "2015-11-26T08:20:15.130Z",
}
}
F2.js:
[{
"oaci": "A",
"latitude": "45.979722222222",
"longitude": "5.3377777777778"
},
{
"oaci": "B",
"latitude": "46.123333333333",
"longitude": "5.8047222222222"
},
{
"oaci": "C",
"latitude": "47.123333333333",
"longitude": "8.8047222222222"
},
{
"oaci": "D",
"latitude": "46.205555555556",
"longitude": "5.2916666666667"
}
]
我试着检查它是否是同一个"oaci";在文件F1.json中添加纬度和经度项,否则不执行任何操作。
我试着得到这个结果
F1.js
{
"A": {
"time": "2015-11-26T08:20:15.130Z",
"latitude": "45.979722222222",
"longitude": "5.3377777777778"
},
"B": {
"time": "2015-11-26T08:30:19.432Z",
"latitude": "46.123333333333",
"longitude": "5.8047222222222"
{
"C": {
"time": "2015-11-26T08:20:15.130Z",
"latitude": "47.123333333333",
"longitude": "8.8047222222222"
}
}
我在json中开始的是,任何人都可以指向我
JavaScript(非Java)中的类似内容:
var obj = {
"A": {
"time": "2015-11-26T08:20:15.130Z"
},
"B": {
"time": "2015-11-26T08:30:19.432Z"
},
"C": {
"time": "2015-11-26T08:20:15.130Z"
}
}
var list = [
{
"oaci": "A",
"latitude": "45.979722222222",
"longitude": "5.3377777777778"
},
{
"oaci": "B",
"latitude": "46.123333333333",
"longitude": "5.8047222222222"
},
{
"oaci": "C",
"latitude": "47.123333333333",
"longitude": "8.8047222222222"
},
{
"oaci": "D",
"latitude": "46.205555555556",
"longitude": "5.2916666666667"
}
]
function getListItem(name){
for(var i = 0; i < list.length; i++){
if(list[i].oaci == name){
return list[i];
}
}
}
for(var prop in obj){
var listItem = getListItem(prop);
obj[prop].latitude = listItem.latitude;
obj[prop].longitude = listItem.longitude;
}
console.log(JSON.stringify(obj, null, 2));
最后一行输出:
{
"A": {
"time": "2015-11-26T08:20:15.130Z",
"latitude": "45.979722222222",
"longitude": "5.3377777777778"
},
"B": {
"time": "2015-11-26T08:30:19.432Z",
"latitude": "46.123333333333",
"longitude": "5.8047222222222"
},
"C": {
"time": "2015-11-26T08:20:15.130Z",
"latitude": "47.123333333333",
"longitude": "8.8047222222222"
}
}
如果您调用时间戳对象t
和坐标列表c
,您可以这样实现:
for (timestamp in t) {
for (coordinate in c) {
if (c[coordinate]["oaci"] === timestamp) {
t[timestamp]["latitude"] = c[coordinate]["latitude"];
t[timestamp]["longitude"] = c[coordinate]["longitude"];
}
}
}
使用给定的对象(F1
和F2
),这应该会使技巧
F2.forEach(function(_data){
var currentData = F1[_data.oaci];
if (currentData) for (var prop in _data) if (prop !== 'oaci'){
currentData[prop] = _data[prop];
}
});
F1
中包含的结果。
这是一个动态解决方案,因此如果在对象中添加更多属性,它将继续工作。
相关文章:
- 如何使用 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 文件,然后检索它