2013-12-09 24 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