2013-12-09 76 views
-1

我解析在返回該數據的的NodeJS API,作爲一個字符串:轉換的Javascript對象字符串對象常量

{ 
    "query": { 
     "count": 1, 
     "created": "2013-12-09T08:05:21Z", 
     "lang": "en-US", 
     "results": { 
      "rate": { 
       "id": "GBPEUR", 
       "Name": "GBP to EUR", 
       "Rate": "1.1938", 
       "Date": "12/9/2013", 
       "Time": "3:05am", 
       "Ask": "1.194", 
       "Bid": "1.1936" 
      } 
     } 
    } 

}

我想這個轉換成JavaScript對象,以便我可以像解析它var rate = obj.query.results.rate.Rate一樣。

我試過使用節點的QueryString Parse(),但這不能按預期工作,並且eval()也不起作用。我該如何做到這一點(顯然最好不要使用eval())?

+3

提示:出現這種情況是有效的JSON。 – user2864740

+0

@ user2864740現在我覺得很笨!助教。 – Jascination

回答

2

你會使用JSON.parse

JSON.parse(json_string) 
+1

這假設字符串是一個**有效的** JSON。這可能或可能不是這種情況。一些衛生條件是不可取的? – ZenMaster

+0

發佈的數據是有效的JSON,我已經在回答之前刪除它 – adeneo

+0

我知道示例數據是一個有效的JSON,我說它可能不是在所有情況下,取決於調用哪個Node模塊的哪個API。對於你所知道的 - 這是一個看起來像一個物體的字符串。基本上 - 有一個錯誤,一個人會做一些防禦性編程是明智的(如果這是可能的話)。只是試圖添加一些已經很好的答案。 – ZenMaster