TypeError: invalid 'in' operand obj while getting json keys

TypeError: invalid 'in' operand obj while getting json keys

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

我正在尝试从 json 字符串中获取密钥,使用

var keys = $.map(a, function(element,key) { return key; }); . 

但是我得到:

TypeError: invalid 'in' operand obj

我该如何解决这个问题?

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

不清楚您要在 jsFiddle 中获得什么结果,但您不应该在将对象传递给 [=11= 之前将其字符串化(例如将其转换为 JSON 字符串) ].

也许你只是想要:

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

只需使用

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

而不是字符串化版本。