JavaScript 数组和 JSON

标签 javascript arrays json

我正在研究 Bootstrap calendar 并且我试图让我的数组看起来像这样:

{
"success": 1,
"result": [
    {
        "id": "293",
        "title": "This is warning class event with very long title to check how it fits to evet in day view",
        "url": "http://www.example.com/",
        "class": "event-warning",
        "start": "1362938400000",
        "end":   "1363197686300"
    },
    {
        "id": "256",
        "title": "Event that ends on timeline",
        "url": "http://www.example.com/",
        "class": "event-warning",
        "start": "1363155300000",
        "end":   "1363227600000"
    },
    {
        "id": "276",
        "title": "Short day event",
        "url": "http://www.example.com/",
        "class": "event-success",
        "start": "1363245600000",
        "end":   "1363252200000"
    },
    {
        "id": "294",
        "title": "This is information class ",
        "url": "http://www.example.com/",
        "class": "event-info",
        "start": "1363111200000",
        "end":   "1363284086400"
    }
] }

但是我尝试过并得到了这样的结果:

[  
   {  
      "success":1
   },
   {  
      "result":[  
         {  
            "id":"1",
            "title":"dev",
            "url":"www.example.com",
            "class":"event-success",
            "start":"0",
            "end":"0"
         },
         {  
            "id":"2",
            "title":"Holiday",
            "url":"www.example.com",
            "class":"event-success",
            "start":"0",
            "end":"0"
         },
         {  
            "id":"3",
            "title":"Coding...",
            "url":"www.example.com",
            "class":"event-success",
            "start":"0",
            "end":"0"
         },
         {  
            "id":"4",
            "title":"data",
            "url":"www.example.com",
            "class":"event-success",
            "start":"0",
            "end":"0"
         }
      ]
   }
]

我创建这些困惑的代码是

      var result = [];
  for(i=0; i<rows.length; i++) {
    var result_single = {id:rows[i].uid, title:rows[i].name, url:"www.example.com", class:"event-success", start:rows[i].startdate, end:rows[i].enddate};
    result.push(result_single);
  }
  var output = new Array();
  output.push(data);
  result = {result:result};
  output.push(result);
  console.log(JSON.stringify(output));

说实话,我不太明白js中的数组是如何工作的。有人可以指出我是怎么出错的吗?

最佳答案

您的预期结果是一个包含 2 个属性的对象,但您得到一个包含两个对象的数组。我认为您想要第一个结果,它是具有两个属性的对象。

var result = [];
var rows = [1,2,3,4,5];

for(i=0; i<rows.length; i++) {
    var result_single = {id:rows[i], title:rows[i], url:"www.example.com", class:"event-success",                                 start:rows[i].startdate, end:rows[i].enddate};
    result.push(result_single);
}
    
var output = {
   success: 1,
   result: result
}
      
console.log(JSON.stringify(output));

关于JavaScript 数组和 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711771/

相关文章:

javascript - 从php返回json到ajax

javascript - 使用 jQuery $.getJSON 方法从具有多维数组的 JSON 文件中获取值

javascript - 带有 codeigniter 的 float 条 "tool-tip"图

javascript - 在特定输入字段和完整表单之间的显示之间切换表单

javascript - 函数调用 - this == Window 并且不是未定义的

arrays - 将数组合并为一个字符串(matlab)

javascript - Phonegap 事件恢复

c++ - 动态数组未正确初始化

Python:不同类型的多维数组

ruby-on-rails - 在 Rails 3 中返回空 JSON 响应的首选方法是什么?