2014-02-20 22 views
0

我得到格式化json字符串與所有\ before「和\ n換行符。如何將此字符串轉換爲常規javascript字典? 我想用''和\」替換所有\ n「但它有點暴力解決方案。?有沒有moreelegant方式如何將格式化字符串轉換爲常規javascript字典?

+0

['JSON.parse()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) – zzzzBov

回答

0

這聽起來像您收到JSON編碼數據將原始數據轉換成一個對象,使用the JSON.parse function

var test = "{\"foo\":\"bar\"}"; 
var data = JSON.parse(test); 
console.log(data); 
0

我不知道我明白你的意思了'JavaScript字典',但根據我的經驗,將JSON字符串轉換爲任何類型的可用JavaScript對象的最簡單方法是使用JSON.parse,請參閱Parse JSON in JavaScript?有關這方面的一些很好的信息。

同樣在未來你想要做什麼的小樣本,你的源數據等將是有幫助的!

0

這是一個轉義字符串,你應該忽略它,並使用eval將返回由json字符串表示的對象。 A JSON字符串只是一個JavaScript序列化對象,因此您可以使用javascript評估並返回表示的「映射」或對象。 換行符在json中有效,所以你不需要刪除它們。

var o = eval("o = {name:\"test\"}"); 
alert(o.name); 
0

您可能正在考慮使用其他語言(如Objective C或C#)中的字典實現 - JavaScript沒有字典實現。那麼,您的問題是如何解析JSON,以便您可以將一些值輸入到鍵值對中?如果是這樣,那麼聽起來像JSON.parse將爲你工作。

如果你的問題是關於如何實現像在JavaScript字典,從JSON填充的數據 - 那麼你要解析JSON,並設置了一些簡單的JavaScript對象,像一本字典:

var dictionary = {"key1":"hello", "key2":"hello2", "key3":"hello3"}; 
console.log(dictionary["key3"]); // gives the value "hello3" 
相關問題