2011-08-04 130 views
1

我試圖創建一個哈希,後來把它轉換成JSON對象什麼這個紅寶石哈希

a = { "event": "game", 
     "properties": 
      { 
       "ip": "123.123.123.123", 
        "token": "dejdedjjjne", 
        "time": 1245613885, 
        "action": "play" 
       } 
     } 

得到一個錯誤的問題: -

: odd number list for Hash 
    and syntax error, unexpected ':', expecting '}' 

回答

12

Ruby的語法使用=>而不是:。在Ruby 1.9中,如果您忽略鍵周圍的引號(這也使鍵成爲符號),還可以選擇保留冒號。

+0

謝謝。我在試圖理解調用link_to「Name」,id:1'時發現了這一點。認爲這是一些奇特的JSON語法技巧;) – Roman

2

在Ruby中,一個散列像這樣:{"key" => "value"},而不是冒號。如果你想將它轉換爲json,你可以這樣做:

require 'json' 
my_hash = {'key' => 'value'} 
json_hash = my_hash.to_json 
3

使用'=''而不是':'作爲紅寶石中的散列。