javascript - JSON连接数据之间如何进行操作?

标签 javascript jquery json

假设我有两个 JSON 字符串:

json1 = [{"hc-key":"ar-tf","value":221},{"hc-key":"ar-ba","value":10820},{"hc-key":"ar-sj","value":230}]

json2 = [{"hc-key":"ar-ba","value":2890151},{"hc-key":"ar-sj","value":15625084},{"hc-key":"ar-tf","value":367828}]

我想做的是通过“hc-key”将它们连接到一个新的JSON字符串中,其中新的“value”是结果将 json1 中的值除以 json2 中的值。在 JavaScript 中。

请注意,json2 中的数据与 json1 中的数据顺序不同,但它们都具有完全相同的键。

生成的 JSON 应该是:

 result = [{"hc-key":"ar-ba","value":10820/2890151},{"hc-key":"ar-sj","value":230/15625084},{"hc-key":"ar-tf","value":221/367828}]

(为了澄清起见,我省略了结果值)

谢谢。

最佳答案

Robert 是正确的,连接在服务器端更好,但是您想要做的事情当然可以通过使用一些 JavaScript 循环来实现。

对于这个例子,我没有考虑错误处理,但我还建议在除法之前确认您有实数,并且您没有除以零。

var json1 = [
  {"hc-key":"ar-tf","value":221},
  {"hc-key":"ar-ba","value":10820},
  {"hc-key":"ar-sj","value":230}];

var json2 = [
  {"hc-key":"ar-ba","value":2890151},
  {"hc-key":"ar-sj","value":15625084},
  {"hc-key":"ar-tf","value":367828}];

var result = [];

for(var i = 0; i < json1.length; i++)
{
    var key = json1[i]['hc-key'];
    for(var j = 0; j < json2.length; j++) {
        if(json2[j]['hc-key'] == key) {
            result.push({
                "hc-key":key,
                "value": json1[i]['value'] / json2[j]['value']
            });
            break;
        }
    }
}
    
//show results
var key, value;
var $results = $('.results tbody');

for(var i = 0; i < result.length; i++)
{
    key = result[i]['hc-key'];
    value = result[i]['value'];
    $results.append('<tr><td>' + key + '</td><td>' + value + '</td></tr>');
}
td {
  padding-right: 15px;
  text-align: left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<b>results:<b>

<table class="results">
  <tbody></tbody>
</table>

关于javascript - JSON连接数据之间如何进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200821/

相关文章:

javascript - 创建字符串形式的 div 与使用 createElement() 有什么区别?

javascript - 如何获取从文件导入javascript的路径

javascript - knockout JS : Binding to objects with illegal names

jQuery 数据表仅显示一行,但 JSON 包含所有记录

json - 嵌套 JSON Feed 返回错误

javascript - Firefox 扩展中的 __defineGetter__ 未定义

javascript - 如何获取动态创建的行的总价?

javascript - 如果用户使用带有 anchor /哈希的链接访问网站,我如何将样式应用于元素

javascript - 如何同时运行这些功能?

Java:从文件读取JSON,转换为ORC并写入文件