【问题标题】:JavaScript json handlerJavaScript json 处理程序
【发布时间】:2014-05-20 14:14:25
【问题描述】:

我很难用简单的 javascript(如果可能的话,不用 jQuery)来处理这个请求。 输入信息截图:http://prntscr.com/3kx7sx 目标是我需要将这些行分解为 var:

["buy","1400595135855","8511315","0.007379"]

有人可以帮帮我吗?

【问题讨论】:

  • 到目前为止尝试了什么?
  • 我在 stackoverflow 和谷歌上搜索了一些接近的东西,但是这个“[[”让我很困惑......
  • 它只是一个数组中包含一个数组的对象。
  • “将这些行分成 var's”是什么意思?
  • @Johan 他的意思是转换单个变量中的所有单个值

标签: javascript json


【解决方案1】:

我想你想使用JSON.parse()。您需要传入图像中显示的 JSON 字符串。像这样:

// You'll need to figure out a way to fill in the '...' with your JSON string,
// probably with an AJAX call.
var jsonString = '...'

var jsonObj = JSON.parse(jsonString);

for (var i = 0; i < jsonObj.data.length; i++) {
    // Here, we're iterating through the data array on the returned object.
    var dataItem = jsonObj.data[i];

    // You can now access properties of each data item using dataItem[<index>]
    // and do whatever you need to with them.
}

【讨论】:

  • 像魅力一样工作!谢谢!
【解决方案2】:

您应该像这样简单地遍历数组:

var a = ["buy","1400595135855","8511315","0.007379"];

for (var i=0; i<a.length; i++) {
    console.log(a[i])
}

【讨论】:

    【解决方案3】:

    由于嵌套数组似乎让你感到困惑,这里有一个 sn-p 将响应转换为对象数组。

    var response = {  
        e: 'history-update',
        data: [["buy","1400595135855","8511315","0.007379"],
               ["buy","1400595135855","8511315","0.007379"]]
    };
    
    var result = response.data.map(function(item){
        var ret = {};
        for(var i = 0; i < item.length; i++)
            ret['item_' + i] = item[i];
        return ret;
    });
    
    console.log(result[0].item_0); // 'buy'
    

    我刚刚调用了属性item_&lt;index&gt;。这对您有帮助吗?

    http://jsfiddle.net/nTPX3/

    【讨论】:

      【解决方案4】:

      如果您想将值存储在单个变量中,而不受仅在循环中或一个一个地使用它们的限制,这是要走的路。如果您在 Json 响应中的参数数量并不总是相同,那么循环会更好。

       var a = ["buy","1400595135855","8511315","0.007379"];
          var value1 = a[0];
          var value2 = a[1];
          var value3 = a[2];
          var value4 = a[3];
      

      【讨论】:

        猜你喜欢
        • 2019-02-28
        • 2012-04-29
        • 1970-01-01
        • 2016-04-20
        • 2013-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多