2015-07-12 108 views

回答

9

您沒有正確轉義。你要確保你:

var somejson = "{ \"key1\": \"val1\",\"key2\": \"value2\"}"; 

更簡單的方法是隻在現有對象轉換爲使用JSON.stringify()的字符串。儘可能地推薦這一點,因爲發生錯字錯誤的可能性很小。

var obj = { 
    key1: "val1", 
    key2: "value2" 
}; 

var json = JSON.stringify(obj); 
+2

你的答案肯定是有效的,但可能更容易使用'''不是逃避一切。 –

+0

相關提示出於好奇,什麼環境?我從未遇到過它。我假設它將被實例化爲一個字符串,任何後來的解析都不知道該字符串是如何創建的。 –

+0

@DylanWatt意思是點擊編輯,點擊刪除。累了,哈哈。我在另一個使用單引號的項目中遇到了nodejs中的一些問題。這就是說,這在新版本> 0.10.x中可能不再是問題 –

0

我想你應該使用JSON.stringify函數。 看到這裏的答案 - Convert JS object to JSON string

var somejson = { 
    "key1": "val1", 
    "key2": "value2" 
}; 
somjson = JSON.stringify(somejson); 
4

如果你想要的字符串,而不是對象(注意的'代替"

var somejson = '{ "key1": "val1", "key2": "value2" }'; 

如果你想用多行聲明的字符串,而不是對象(換行符在Javascript中有意義)

var somejson = '{' 
+ '"key1": "val1",' 
+ '"key2": "value2"' 
+ '}'; 

如果你想要的對象,而不是字符串

var somejson = { "key1": "val1", "key2": "value2" }; 

如果你想有一個字符串一般

var somejson = JSON.stringify(someobject); 
相關問題