2011-10-11 21 views
0

我得到了別人的代碼需要幫助上獲得從值「{」 K1「:」 V1" ,‘K2’:‘V2’}」

elem.getAttribute("additional-attributes") 

結果......結果是像:

"{"k1":"v1", "k2":"v2"}" 

所以我必須解析字符串以獲得「v2」從「k2」?還是有更好的方法來獲得價值?

謝謝!

+0

的「串」(我假設你已經正確地引用它,它實際上是''{「k1」:「v1」,「k2」:「v2」}'')是JSON格式,代表一個JS對象。 – jball

+0

也許你是對的...我看到了從火狐手錶的字符串...如果是這樣,我應該如何獲得價值?謝謝! –

+0

使用'JSON.parse'來獲取對象,然後使用'obj.k1'或'obj.k2'來獲取值... –

回答

0

好了,你想用JSON.parse來獲取對象,然後obj.k1obj.k2得到的值...

0

你可以用逗號和冒號分開。或者一個簡單的正則表達式可以做到這一點。

+0

...如果解析是唯一的方法...我想我必須然後...我認爲這裏有什麼錯... –

0

如果字符串是這樣的實際(注意'作爲一個字符串運算符):

var string = '{"k1":"v1", "k2":"v2"}' 

你可以做到這一點(該字符串轉換成JS對象轉換):

var obj = eval("("+string+")"); 

而且然後訪問k2值做到這一點:

var k2value = obj.k2; 

如果該字符串格式化不好,你可以參考ormat它所以它是有效的JS字符串,然後做它的eval()使其成爲一個對象。

+0

這個作品呢!謝謝! –

+2

-1用於'解析'帶有'eval'的JSON – Saxoier

+1

對於在沒有原生JSON支持(在ES5中引入)的瀏覽器中工作的方法,爲+1。 – RobG