1

这是我的 json 数据:

var jsondata = 
[ { "month" : "01" },
  { "folders" : [ { "name" : "test1" },
        { "name" : "test2" },
        { "name" : "test3" }
      ] },
  { "actions" : [ { "id" : "2" },
        { "id" : "4" }
      ] }
]

我使用JSON.parse为了将我的 json 文本转换为 json 数组(这里没有问题),我想显示月份......但它不起作用......为什么?

var JsonData = JSON.parse(jsondata);
var month = JsonData.month;
alert(month);

谢谢 !

4

3 回答 3

3

应该是

JsonData[0].month;

您的json 是一个对象数组。并且month是数组中的第一项。因此,要访问月份的值,您可以将其指向数组中的项目,然后尝试获取该键的值。

如果 json 对象采用这种格式,那么您编写的符号就可以了。

var jsondata = { "month"  : "01",
                 "month1" : "02",
                 "month1" : "02" 
               }

一种方法可能是

var jsondata = {},
    folders = [{"name" : "test1"}, {"name" : "test1"}, {"name" : "test2"}],
    actions = [{"id": "2"}, {"id":"4"}];

jsondata["month"] = "01";
jsondata["folders"] = folders;
jsondata["actions"] = actions;

console.log(jsondata);
于 2013-05-19T18:34:34.280 回答
0

这是因为你的 json 字符串被包裹在一个数组中

JsonData[0].month;
于 2013-05-19T18:36:04.620 回答
0

您可以将月份和其他键作为数组获取

JsonData[0]['month'];

或作为一个对象

JsonData[0].month;
于 2013-05-19T18:38:32.437 回答