javascript - JQuery:将 JSON 结果存储在 JavaScript 数组中?

标签 javascript jquery ajax arrays json

我有一个 PHP 脚本,它创建一个名为“cities”的 JSON 数组。

我可以使用以下 JQuery 从中检索数据:

$.ajax({
  dataType: "json",
  url: "mysql.php",
  success: function(data){

    console.log(data[0]);//Returns first item in cities array

};

但我不确定如何遍历检索到的数据并将其输入到 JavaScript 数组中。

我真的没有办法初始化一个计数,例如:

var counter = cities.length;

它似乎无法识别“城市”;是检索到的 JSON 数组的名称。

我的 ajax 脚本中是否遗漏了什么?

最佳答案

如果返回的是 JSON 数组,则可以使用 JSON.parse 方法将其转换为 JS 数组。

$.ajax({
  dataType: "json",
  url: "mysql.php",
  success: function(data){
    var cities = JSON.parse(data);
    console.log(cities.length);
};

如果它只是一个字符串数组,您甚至不需要执行 JSON.parse,因为 JSON 只不过是 JavaScript 对象表示法的字符串化表示。但是 JSON.parse 有助于将 JSON 转换为其对应的 JavaScript 对象表示法,以用于任何有效的 JS 对象。

关于javascript - JQuery:将 JSON 结果存储在 JavaScript 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742548/

相关文章:

jquery - 使用MVC3的HTML编码和解码

jquery - 动态加载Jquery到.js页面

jQuery $.ajax POST 多选选择

java - ajax 调用错误的 servlet

javascript - 为什么当我使用 AJAX 重新加载页面时数据消失了

javascript - 如何使用外部javascript延迟图像显示

javascript - 修复子菜单从右滑到下滑

javascript - 卡住列 HTML JavaScript

php - 多文件上传支持所有浏览器,特别是ie7,ie8和ie9

javascript - Chrome 扩展 : Message passing confusion