TypeError:无效' in'获取json密钥时的操作数obj

时间:2015-01-02 01:38:23

标签: javascript json

我有以下小提琴:http://jsfiddle.net/kc11/h6nh1gvw/2/

我正在尝试使用

从json字符串中获取密钥
var keys = $.map(a, function(element,key) { return key; }); . 

但是我得到了:

TypeError: invalid 'in' operand obj

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

$.map()需要一个对象或数组,而不是字符串。

目前尚不清楚您在jsFiddle中尝试实现的结果,但在将对象传递给$.map()之前,不应将其对象进行字符串化(例如将其转换为JSON字符串)。

也许你只是想要:

var keys = $.map(getCarData()[0], function(element,key) { return key; }); . 

答案 1 :(得分:1)

只需使用

var b = getCarData()[0]; 
var keys = $.map(b, function(element,key) { return key; }); 

而不是字符串化版本。