var
json
={"%%a":"12","%%b":"3","%%c":"18"}这个表示是一个对象,“:”前为属性,后为值。
var
json
=
[{"%%a":"12"},{"%%b":"3"},{"%%c":"18"}]这个表示了三个对象。
这两个js都可以直接解析(也就是直接用)。
你看你需要哪一个,自己做拼接。
用下循环匹配着拼接下,w3school里讲的很明白,也很简单,但是是够用了
不确定你的a还要不要保持
就使用拷贝的思路了
组装部分写好
对於sum的逻辑请重新说明下
为什麼1000子节点只有1个age为3的, 而1000节点的age为6
varBetterB = {},
d = []
F
for (F = b.lengthF--) BetterB[b[F].class_id] = b[F]
~function(From,To)
{
var
from,to,b
F,Fa
for (F = 0F < From.length++F)
{
from = From[F]
To.push(to = {})
b = BetterB[from.id]
//以下两处用正则的原因是可能会有其它不需要被复制的元素
for (Fa in from) /^children$/.test(Fa) || (to[Fa] = from[Fa])
for (Fa in b) /^class_id$/.test(Fa) || (to[Fa] = b[Fa])
from.children && arguments.callee(from.children,to.children = [])
}
}(a,d)
//组装复制完毕
var Sum = function(Data,Field)
{
}
for (F = c.lengthF--)
{
switch (c[F].type)
{
case 'sum' : Sum(d,c[F].field)
}
}