如何使用jquery提取json,多值

时间:2018-05-01 05:16:08

标签: javascript jquery json

你好,我有像这样的json数据

KLOBS   {"SL_VEF_APPLIED_VS_BOL_R1_KLOBS":["0.00247320692497939","0.000008129750823137272"]}
KL15    {"SL_VEF_APPLIED_VS_BOL_R1_KL15":["0.01890831252229754","0.9008162336184189"]}

我已经尝试过提取json

$.get('url_request.php?' + $(this).serialize(), function(data) {
    var obj = data;

    $.each(obj, function(key, value) {
        console.log(key);
        console.log(value);
    });
});

$.each(obj, function(key, value) {
    console.log(key);
    console.log(value);
});

我得到了结果

KLOBS 
{"SL_VEF_APPLIED_VS_BOL_R1_KLOBS":["0.00247320692497939","0.000008129750823137272"]}  

KL15
{"SL_VEF_APPLIED_VS_BOL_R1_KL15":["0.01890831252229754","0.9008162336184189"]}

我想得到这样的结果: -

KLOBS
0.00247320692497939
0.000008129750823137272

KL15
0.01890831252229754
0.9008162336184189

如何像这样调用json

我不知道在Json中调用多个值数据。

请帮帮我。

2 个答案:

答案 0 :(得分:2)

试试这个

    var arr = {
      KLOBS: {
        SL_VEF_APPLIED_VS_BOL_R1_KLOBS: [
          "0.00247320692497939",
          "0.000008129750823137272"
        ]
      },
      KL15: {
        SL_VEF_APPLIED_VS_BOL_R1_KL15: ["0.01890831252229754", "0.9008162336184189"]
      }
    };
    
    Object.keys(arr).forEach(function(key, value) {
      console.log(key);
      Object.keys(arr[key]).forEach(function(val) {
        arr[key][val].forEach(function(data) {
          console.log(data);
        });
      });
    });

答案 1 :(得分:1)

通常,您可以执行以下操作:

var KLOBS = {"SL_VEF_APPLIED_VS_BOL_R1_KLOBS": 
["0.00247320692497939","0.000008129750823137272"]}

values = Object.keys(KLOBS).map(x=>{
    return KLOBS[x];
})

values.forEach(x=>x.forEach(y=>console.log(y)))

jsfiddle

Object.keys为您提供对象中的键数组。 由于我事先并不知道结构,所以我认为它更好地考虑了一个以上的关键。

使用函数map,函数将应用于Object.keys返回的数组的每个成员。这用于提取值。

生成的结构是一个数组数组。

因此,需要双forEach来显示结构的每个条目。