我有一个JSON响应
{ "-0.15323": "" }
如何仅解析-0.15323
部分?我的意思是说
var json = '{ "-0.15323": "" }'
var obj = JSON.parse(json);
现在
return obj;
应仅返回-0.15323
。切片不是一个好选择。因为数据可能有不同的大小。
答案 0 :(得分:5)
json是一个对象,所以你可以这样做:
var obj = { "-0.15323": "" };
var key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key);
}
}
以下是一个工作示例:http://jsfiddle.net/dndp2wwa/1/
答案 1 :(得分:5)
这是一个Javascript对象文字。
所以你可以使用Object.keys函数,这比使用for-in循环遍历所有可枚举属性更简单(例如在Donal&#39的示例中):
var ob = {
"-0.15323": ""
};
alert(Object.keys(ob)[0])

甚至是Object.getOwnPropertyNames函数,FYI允许访问可枚举和不可枚举的属性。您可以通过以下方式访问您的酒店:
var ob = {
"-0.15323": ""
};
alert(Object.getOwnPropertyNames(ob)[0])

两者都是Ecmascript 5,并且应该在所有主流浏览器中都受支持。
答案 2 :(得分:2)
parseFloat(Object.keys({"-1.2345":""})[0])