javascript - 从 JSON 结构中获取数据

标签 javascript json coldfusion

我的 coldfusion 组件正在返回 JSON 格式的数据。我正在尝试使用 Javascript 在我的前端访问该数据的值。有人可以帮助我了解如何访问数据值,例如“id”、“firs_name”和“last_name”吗?

我将以下数据存储在名为 tempData 的变量中。下面是我得到的 JSON 结构:

{ "COLUMNS" : [ "id",
      "FIRST_NAME",
      "LAST_NAME"
    ],
  "DATA" : [ [ "xxxx",
        "Jes",
        "Abr"
      ],
      [ "xxx2",
        "JESSIE",
        "YU"
      ]
    ]
}

下面是我的ajax调用:

$.ajax({
    type: "get",
    url: "GROUPSLIST.cfc",
    data: {
        method: "getNames",
        queryString: selectQuery
    },
    success: function(a) {
        alert(a);
    },
    error: function(a) {
        alert(a.responseText);
    }
});    

最佳答案

我假设您的回复尚未解析。您可以使用如下内容。

var tempData = '{"COLUMNS":["id","FIRST_NAME","LAST_NAME"],"DATA":[["xxxx","Jes","Abr"],["xxx2","JESSIE","YU"]]}';
//parse response if not already parsed 
var respObj = JSON.parse(tempData);
var columns = respObj['COLUMNS'];
//create a column map to index like following
var colMap = {};
for(i = 0; i < columns.length; i++){
  colMap[columns[i]] = i;
}
console.log(colMap)
var data = respObj['DATA'];
var text = ''
//use data[i][colMap['id']] to access data inside loop.
for(i = 0; i < data.length; i++){
  text += data[i][colMap['id']] + ':' +data[i][colMap['FIRST_NAME']] + ' ' + data[i][colMap['LAST_NAME']] + '<br>';  
}
document.getElementById('text').innerHTML = text;
<div id="text"></div>

关于javascript - 从 JSON 结构中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38076111/

相关文章:

javascript - 使用 AngularJS 和 Kendo UI 的简单模式对话服务

javascript - 用 jQuery 填充进度条(加宽 div)

java - 用java解析solr json

javascript - 矩形删除并放置错误 net::ERR_NAME_NOT_RESOLVED

javascript - 如何避免 SQL RequestError : "The multi-part identifier ... could not be bound"?

java - 使用 Java 和 PHP 通过 okhttp 进行 JSON 请求

python - django:控制json序列化

delphi - HTML5 WebSocket 不工作。服务器=ColdFusion,客户端=Delphi

javascript - 将输入值与数据库 Coldfusion 中的值进行比较

coldfusion - 如何阻止 Coldfusion 将查询列名转换为大写?