javascript - 将 JSON 转换为数组

标签 javascript html json jquery

在浏览器中执行 url 时,我有以下内容:

   [{
       "id": "1234",
       "name": "Carl",
       "age": "17"
   }, {
       "id": "9876",
       "name": "Jhon",
       "age": "19"
   }]

我有这个功能:

     function get(callback) {
         return $.ajax({
             type: "GET",
             // url: 'rest/cars/list',
             url: 'my url',
             dataType: "json",
             context: this,
             success: function (response) {
                 callback.call(this, response);
             }
         });
     };

我的代码是这样的:

  var pos = get();
  var ob = JSON.parse(pos);
  var arr = [];
  for (var i in ob) {
      if (ob.hasOwnProperty(i)) {
          arr.push(ob[i]);
          alert(arr[i]);
      }
  }

我需要知道如何将 JSON 转换为数组,这样我就可以:

arr[0].id = 1234 

等等... 我的代码无法正常工作,我遇到此错误 SyntaxError: Unexpected token o ... 我非常想解决这个问题

最佳答案

您调用get()函数的方法无效。 get() 方法需要一个未提供的回调函数。另外,从 get() 函数返回的值是一个 jQuery 对象。不是您从服务器获得的响应。请引用以下实现。

在成功函数中进行以下更改:

     function get(callback) {
         return $.ajax({
             type: "GET",
             // url: 'rest/cars/list',
             url: 'my url',
             dataType: "json",
             context: this,
             success: function (response) {
                 callback(response);
             }
         });
     };

并调用 get() 方法,如下所示:

get(function(pos){
var ob = pos;
  var arr = [];
  for (var i in ob) {
      if (ob.hasOwnProperty(i)) {
          arr.push(ob[i]);
          alert(arr[i]);
      }
  }
});

希望这对您有帮助。

关于javascript - 将 JSON 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18483059/

相关文章:

html - 在CSS中从 child 到侄子穿越DOM

javascript - JSON.parse 给我一个错误,但 JSONLint 说它是一个有效的 json

javascript - 使用 ajax 从嵌套的 .json 调用数据

javascript - 在angularjs中不显示包含 `.`的对象项

javascript - jQuery - 通过发送 POST 参数来更改页面

php - 用于替换单词的jquery代码

javascript - 增加 pace.js 中的进度条加载时间

php - 通过表单发送 HTML 代码

javascript - 在 Vite 版本 4 中访问 ENV 文件

jquery - 验证错误消息样式