下面兩行產生相同的輸出:to_json在紅寶石周圍無鑰匙引號
1.9.3p327 :015 > {:key=>1234}.to_json
=> "{\"key\":1234}"
1.9.3p327 :016 > {"key"=>1234}.to_json
=> "{\"key\":1234}"
哪個以下JSON:
{
"key" : 1234
}
我怎樣才能得到它產生"{key:1234}"
?
下面兩行產生相同的輸出:to_json在紅寶石周圍無鑰匙引號
1.9.3p327 :015 > {:key=>1234}.to_json
=> "{\"key\":1234}"
1.9.3p327 :016 > {"key"=>1234}.to_json
=> "{\"key\":1234}"
哪個以下JSON:
{
"key" : 1234
}
我怎樣才能得到它產生"{key:1234}"
?
您想實現的輸出不是JSON。這是非法的。看起來很明顯,JSON庫將產生JSON輸出,而不是不是JSON的東西。
如果你想輸出不是JSON的東西,你需要使用一個不是JSON的庫。在這種特殊情況下,它看起來像你製作了輸出格式,所以你可能必須自己編寫這個庫。
謝謝,因爲它是有效的JavaScript,我認爲我也是有效的json。 – Nicolas
JSON是一個標準。可以使用類似於有效的JSON但不是的語言來創建有效的內容,但是如果您打算使用JSON解析器將數據流從語言傳輸到語言,則必須遵循規範,然後遵循規範,最簡單的方法就是使用默認輸出。有時系統之間的數據兼容性是一種痛苦,但有一些*次要的*好處使其值得。 –
假設您使用'json' gem來獲取'to_json'功能是否安全? –
你想要這樣做的任何特定原因? JSON指定鍵應該是帶引號的字符串。據我所知,沒有引號的語法是有效的Javascript,但不是有效的JSON。 – Teoulas
另外,在JSON或Javascript中沒有相當於ruby的符號,所以符號總是轉換爲字符串。您無法從JSON獲取原始(符號鍵控)散列。 – Teoulas