在javascript razor中将2个json和merge与1个json进行比较
我想问一下,如何比较这两个json并将它们合并到javascript中 第一个json是从控制器获取的 第二个json在我输入之后 感谢您的帮助 第一个json在javascript razor中将2个json和merge与1个json进行比较,javascript,c#,json,razor,Javascript,C#,Json,Razor,我想问一下,如何比较这两个json并将它们合并到javascript中 第一个json是从控制器获取的 第二个json在我输入之后 感谢您的帮助 第一个json [{"name":"Stock", "data": [{"name":"Fish", "amount":80, "color":"#0000ff" }, {"name":"Meat", "amount":20, "color":"#fd0000"
[{"name":"Stock",
"data":
[{"name":"Fish",
"amount":80,
"color":"#0000ff"
},
{"name":"Meat",
"amount":20,
"color":"#fd0000"
}]
}]
[{"name":"Stock",
"data":
[{"name":"Fish",
"amount":5,
"color":"#008000"
},
{"name":"Meat",
"amount":10,
"color":"#00FF00"
}]
}]
2nd json
[{"name":"Stock",
"data":
[{"name":"Fish",
"amount":80,
"color":"#0000ff"
},
{"name":"Meat",
"amount":20,
"color":"#fd0000"
}]
}]
[{"name":"Stock",
"data":
[{"name":"Fish",
"amount":5,
"color":"#008000"
},
{"name":"Meat",
"amount":10,
"color":"#00FF00"
}]
}]
预期产出
[{"name":"Stock",
"data":
[{"name":"Fish",
"amount":80, // first json amount
"color":"#0000ff"
},
{"name":"Meat",
"amount":20, // first json amount
"color":"#fd0000"
},
{"name":"Fish",
"amount":75, // 80 - 5 = 75 (first json - 2nd json)
"color":"#008000"
},
{"name":"Meat",
"amount":10, // 20 - 10 = 10 (first json - 2nd json)
"color":"#00FF00"
}]
这可能对你有帮助
让json1=[{“name”:“Stock”,
“数据”:
[{“名字”:“鱼”,
“金额”:80,
“颜色”:“#0000ff”
},
{“名称”:“肉”,
“金额”:20,
“颜色”:“fd0000”
}]
}]
让json2=[{“name”:“Stock”,
“数据”:
[{“名字”:“鱼”,
“金额”:5,
“颜色”:“008000”
},
{“名称”:“肉”,
“金额”:10,
“颜色”:“00FF00”
}]
}]
设amountMap={};
设stockMap={};
让结果=[];
函数addToResult(jsonA){
jsonA.forEach((股票)=>{
if(stockMap[stock.name]==未定义){
stockMap[stock.name]=股票;
结果推送(stockMap[stock.name]);
}
stock.data.forEach((数据)=>{
if(amountMap[stock.name+”;“+data.name]==未定义){
amountMap[stock.name+”;“+data.name]=data.amount;
//无需推送,因为数据已经存在
}否则{
amountMap[stock.name+”;“+data.name]=amountMap[stock.name+”;“+data.name]-data.amount;
data.amount=amountMap[stock.name+”;“+data.name];//替换金额
stockMap[stock.name].data.push(数据);
}
});
});
}
addToResult(json1);
addToResult(json2);
控制台日志(结果)代码>到目前为止您尝试了什么?@JleruOHeP我尝试了map函数和for循环,但两者都没有按预期工作如果这解决了您的查询,请确保接受答案