Javascript 连接两个json文件
我有两个json文件: F1.js:Javascript 连接两个json文件,javascript,json,Javascript,Json,我有两个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",
{
"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
从json开始,任何人都可以向我指出类似于JavaScript(而非Java)的内容:
使用您给定的对象(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
中
这是一个动态解决方案,因此如果在对象中添加更多属性,它将继续工作
如果调用timestamp对象
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"];
}
}
}
你是否为实现你的目标做出了一些努力,或者你是在要求得到答案?它非常有效,非常感谢,你今天救了我一天
{
"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"
}
}
F2.forEach(function(_data){
var currentData = F1[_data.oaci];
if (currentData) for (var prop in _data) if (prop !== 'oaci'){
currentData[prop] = _data[prop];
}
});
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"];
}
}
}