0

我这里有一个问题,不知道如何解决它......

我有一个这样的json文件:

{"data":[{"kw":"48","val":"10","val2":"05"},{"kw":"49","val":"04","val2":"05"}]}

但我需要这种格式:

[{"kw":"48","val":"10","val2":"05"},{"kw":"49","val":"04","val2":"05"}]

在 javascript/jQuery 中,我发出 ajax 请求并取回 json:

$.ajax({
  type : "POST",
  cache : "false", // DEBUG
  url : weburl,
  dataType : "json",
  contentType : "application/json; charset=utf-8",
  success : function(data) {
    // Strip data?
  }
  });

有谁知道如何做到这一点?谢谢!

4

5 回答 5

3
success : function (data) {
    var array = data ? data.data : null;
    // now perform the required operations with array variable.
}

这将只返回数组,而不是包装在对象中。

于 2012-11-13T14:40:25.857 回答
2
$.ajax({
    type: "POST",
    cache: "false", // DEBUG
    url: weburl,
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function(data) {
        var arrayYouWant = data.data; // http://thedailywtf.com/Articles/Data-Data-data-Data.aspx
    }
});
于 2012-11-13T14:40:04.513 回答
2

为什么需要剥离它,你只是引用它

success : function(data) {
    var myArrayofObjects = data.data;
}
于 2012-11-13T14:40:14.497 回答
0

为了真正理解Javascript 中的成员运算符,特别是点符号。JSON 是 Javascript 的一个子集,而 JSON 对象最终是一个 Javascript 对象。

于 2012-11-13T14:45:23.813 回答
0

不知道你所说的存档是什么意思。您的意思是简单地访问与数据属性关联的数组吗?

该数组与 JSON 字符串中的“数据”属性相关联。我可能会更改传递给成功函数的数据参数的名称。

试试这个:

$.ajax({
    type: "POST",
    cache: "false", // DEBUG
    url: weburl,
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function(resp) {
        var yourArray = resp.data; 
        console.log(yourArray);
    }
});
于 2012-11-13T14:45:49.687 回答