<分区>
我遇到了一个问题,我需要以一种方式操作 json 结果 我可以使用 sql 命令类型来操作它。
喜欢左连接、求和和分组
因此,你们中的任何人最近遇到过这种情况吗?
我目前正在使用/探索 jsonsql javascript.. 暂时
附件是我需要操作的json文件..
新的结果应该是这样的
所以我猜我需要使用左连接才能产生这种输出。
我的问题就像从行中收集所有/某些部分并将其设为一列 然后把它们放在一起???
我希望我说得有道理..感谢您的所有回复..
标签 javascript jquery sql json
<分区>
我遇到了一个问题,我需要以一种方式操作 json 结果 我可以使用 sql 命令类型来操作它。
喜欢左连接、求和和分组
因此,你们中的任何人最近遇到过这种情况吗?
我目前正在使用/探索 jsonsql javascript.. 暂时
附件是我需要操作的json文件..
新的结果应该是这样的
所以我猜我需要使用左连接才能产生这种输出。
我的问题就像从行中收集所有/某些部分并将其设为一列 然后把它们放在一起???
我希望我说得有道理..感谢您的所有回复..
最佳答案
该语言为您提供了一些不错的功能,因此无需通过 JS 包装 SQL:
var data=[{"firstName":"Alice", "age":"16"},{"firstName":"Bob", "age":"18"} ... {"firstName":"Zacharias", "age":"37"}]
如果你想SELECT * FROM json WHERE age>16
,你可以在 JS 中做一些等效的事情:
data.filter(function(x){ return x.age>16 })
如果你想SELECT count(*) FROM json
你只需要写
data.length;
如果你想SELECT avg(age) FROM json
你可以这样写
data.reduce(function(o,n){ return o+(n.age/data.length) }, 0)
如果你想SELECT sum(age) from json
你可以这样写
data.reduce(function(o,n){ return o+n.age*1 },0)
那么为什么不使用,语言给了你什么?
编辑:我看到了,您指定了您的需求。究竟需要什么样的转变?我认为应该有一种 JS 方式来做你想做的事。
Edit2:对于表格表示,您必须对所有数据进行reduce
。对于示例,我简化了一点:
var aaData=[{"country":"USA", "month":"1", "earnings":"1000"}, {"country":"USA", "month":"2", "earnings":"1001"}, {"country":"USA", "month":"3", "earnings":"1002"}, {"country":"Germany", "month":"1", "earnings":"1000"}, {"country":"Germany", "month":"2", "earnings":"1001"}, {"country":"Germany", "month":"3", "earnings":"1002"}]
var result=aaData.reduce(function(o, n){
if (!o.hasOwnProperty(n.country)) o[n.country]={};
o[n.country][n.month]=n.earnings;
return o;
}, {})
这是一个JSFiddle一起玩。
关于javascript - 我可以在 json 数据上使用 javascript 执行复杂的 SQL 样式查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137498/