如何将哈希转换为数组?

时间:2013-06-20 07:46:35

标签: javascript arrays perl extjs hash

$VAR1 = {
        'time_stamp' => '06/20/13 09:53',
         'data' => {
             'TOS1' => {
                 '69' => {
                   '65' => {
                       'LINK_STATUS' => 1,
                        'KPIS' => {
                            Aailability' => {
                                   'status' => 'G',
                                     'val' => '100'
                                             },
                            'Completion Time' => {
                                'status' => 'G',                          
                                  'val' => '1'
                                   }
                                      }
                                 }
                           }
                    }
           }
   };

我想将此哈希转换为数组。我在json中得到了它并将其存储在javascript中的一个变量中。我希望以表格格式显示所有值  PLZ建议我

2 个答案:

答案 0 :(得分:1)

所以你有一个深度嵌套的对象图。要从中创建数组,您可能使用for-in遍历每个级别的对象属性,并使用这些值来构建数组。从问题中你可能想要的阵列看起来并不是很清楚,所以我无法真正帮助你。

这是for-in循环的样子:

var key;

for (key in obj) {
    // Here, `key` will have each property name; to get
    // that property's value, use obj[key]
}

例如:

var obj = {
    a: 1,
    b: 2
};
var key;

for (key in obj) {
    console.log(key + "=" + obj[key]);
}

...将输出

a=1
b=2

(订单无法保证)

答案 1 :(得分:1)

我认为没有理由将其转换为数组。在Javascript数组中只能有数字键。

您可以使用for in

迭代对象属性
for (var property in $VAR1) {
    if ($VAR1.hasOwnProperty(property)) {
        console.log(property); // time_stamp
        console.log($VAR1[property]); // 06/20/13 09:53
    }
}

鉴于您有嵌套对象,您需要嵌套循环来迭代嵌套对象。