SQL样式对JSON数据进行JOIN

SQL样式对JSON数据进行JOIN,第1张

SQL样式对JSON数据进行JOIN

没有直接的方法,但是您可以编写逻辑来获得这样的组合对象。由于“苹果,红色,香蕉…”都是字符串,因此应使用单引号或双引号引起来。

如果您可以通过为缺失的项目添加空值来匹配“颜色”和“水果”配置数组,则可以使用此方法。

工作 演示

var colors = {"COLORS":[[1,'red'],[2,'yellow'],[3,'orange']]}var fruits = {"FRUITS":[[1,'apple'],[2,'banana'],[3,'orange']]}var newFruits = {"NEW_FRUITS": [] }//Just to make sure both arrays are the same size, otherwise the logic will breakif(colors.COLORS.length == fruits.FRUITS.length){    var temp;    $.each(fruits.FRUITS, function(i){        temp = this;        temp.push(colors.COLORS[i][2]);        newFruits.NEW_FRUITS.push(temp);    });}

另外,如果可以将创建

colors
fruits
配置作为对象数组而不是数组数组,则可以尝试此解决方案。元素的顺序在这里无关紧要,但数组大小仍应匹配

工作 演示

var colors = {"COLORS":[ {"1": 'red'}, { "2": 'yellow'}, {"3":'orange'}]}var fruits = {"FRUITS":[ {"1":'apple'}, { "2": 'banana'}, {"3":'orange'}]}var newFruits = {"NEW_FRUITS": [] }if(colors.COLORS.length == fruits.FRUITS.length){    var temp, first;    $.each(fruits.FRUITS, function(i){        for(first in this)break;        temp = {};        temp[first] = [];        temp[first].push(this[first]);        temp[first].push(colors.COLORS[i][first]);        newFruits.NEW_FRUITS.push(temp);    });}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存