2012-07-10 67 views
0

我试图将值存储在JavaScript对象表示法中。我已经做了一些编程,并将所有事件存储到以逗号分隔的字符串中,如果术语Im试图查找是一个数组,我得到[object object]作为回报,因为它是一个数组。我想知道如何将该阵列中的所有项目存储到以逗号分隔的变量中,例如,如果选择“时间”,则应该返回Dec 9, 1, 2012列出阵列内的元素

Ive到达的零件返回值一个非数组,http://jsbin.com/obehog/3/edit

和数组的深度可能会改变,它不会在每种情况下相同。所以,如果你选择“时间”要通过循环将不会工作。

回答

1

,结果是一个数组,如:

[[{ 
    "term": "Dec 9", 
    "Dec_9": [{ 
     "count": 1, 
     "term": "2012" 
    }] 
}]] 

,如果你想要一个像Dec 9, 1, 2012因此,您需要一种方法来解析对象的字符串(或字符串数​​组),代码如下:

function valuesOfObj(obj, result) { 
    result = result || []; 
    if (typeof obj === 'object') { 
     for (var k in obj) { 
      if (obj.hasOwnProperty(k)) { 
       arguments.callee(obj[k], result); 
      } 
     } 
    } else { 
     result.push(obj); 
    } 
    return result; 
} 

console.log(valuesOfObj([{ 
    "term": "Dec 9", 
    "Dec_9": [{ 
     "count": 1, 
     "term": "2012" 
    }] 
}]).join(', ')); // -> Dec 9, 1, 2012 

full demo

顺便问一下,你做的是出色的,还有一些其他的实现升ike jsonselectJSONQuery,希望对你有用。

+0

谢谢!!!!我真的很感谢你所做的帮助。Wil检查它是否适用于我的实时输入。 – user1371896 2012-07-10 09:10:54

+0

关于如何将其转换为良好格式的任何建议,以便我可以将它写入一个excel文件,其中的关键值为cming一次和每次对应的键值在它们下面.. – user1371896 2012-07-10 09:13:18

+0

还有一件事与这个问题有关,是否有可能只从Time数组中选择相关内容,就像忽略“Count”字段一样。 – user1371896 2012-07-10 09:22:00