2014-04-10 154 views
-1

我想將JavaScript對象用作hashmap中的鍵。爲了做到這一點,我必須將這個Javascript對象轉換爲字符串。還必須有一種方法來解碼來自該字符串的對象。對字符串進行編碼和解碼的JavaScript對象

這樣做的最好方法是什麼?

到目前爲止,我找到了兩種轉換方法。使用JQuery Params method和JSON.stringify。

謝謝。

+0

JSON:https://developer.mozilla.org/en-US/docs/JSON。假設你只使用簡單的對象。 –

+0

^我列出了我的研究,並要求更好的選項有什麼不對嗎? – sublime

回答

0

看來JSON就是你需要:

  • 對象的字符串

    JSON.stringify(obj); 
    
  • 字符串對象

    JSON.parse(obj); 
    

或者你可以使用ES6 Map爲了能夠直接使用對象作爲鍵,但目前瀏覽器的支持很小。還要注意的是不同的對象會用不同的值相關聯,即使他們看起來就像是相同的:

var m = new Map(), 
    obj1 = {}, obj2 = {}; 
m.set(obj1, 'foo'); 
m.set(obj2, 'bar'); 
m.get(obj1); // 'foo' 
m.get(obj2); // 'bar' 
相關問題