2014-09-27 141 views
2

我有如何解析只有-0.15323部分JSON響應,JSON解析只對象

{ "-0.15323": "" } 

?我的意思是說

var json = '{ "-0.15323": "" }' 
var obj = JSON.parse(json); 

現在

return obj; 

應該只返回我-0.15323。切片不是一個好的選擇。因爲數據可能會以可變大小顯示。

回答

5

這是一個JavaScript對象文字。

所以,你可以使用Object.keys功能,這是通過所有與for-in循環(如在多納爾的例子)的枚舉的屬性做一個循環的簡單等同:

var ob = { 
 
    "-0.15323": "" 
 
}; 
 
alert(Object.keys(ob)[0])

甚至是Object.getOwnPropertyNames函數,該函數允許FYI訪問可枚舉和不可枚舉的屬性。您可以訪問你的財產:

var ob = { 
 
    "-0.15323": "" 
 
}; 
 

 
alert(Object.getOwnPropertyNames(ob)[0])

兩者都是ECMAScript的5,並且應該在所有主流瀏覽器的支持。

5

這JSON是一個對象,所以你可以做這樣的事情:

var obj = { "-0.15323": "" }; 
var key; 

for (key in obj) { 
    if (obj.hasOwnProperty(key)) { 
     console.log(key); 
    } 
} 

這裏是一個工作示例:http://jsfiddle.net/dndp2wwa/1/

2
parseFloat(Object.keys({"-1.2345":""})[0])