将JSON数组转换为Ruby Hash(散列)

时间:2015-06-15 16:08:06

标签: ruby json

我正在尝试将一些API响应数据转换为Ruby哈希或数组,以便我可以更轻松地使用它。这是API返回的JSON字符串:

[
  {
    "id": 2,
    "name": "TestThing",
    "token": "B2CA27221DB976E48248F26756289B91"
  },
  {
    "id": 3,
    "name": "AnotherTestThing",
    "token": "EF16E5F20B8463E48DBF3BA8F0E1102A"
  }
]

我相信那是一个JSON数组?我尝试对该字符串执行JSON.parse,但获得了(JSON::ParserError)r/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/json/common.rb:148:in 'parse': 746: unexpected token at '1511

将此转换为可以轻松使用的内容的最佳方法是什么?我真正的目标是迭代返回的令牌。

2 个答案:

答案 0 :(得分:0)

require 'json'
array = '[
  {
    "id": 2,
    "name": "TestThing",
    "token": "B2CA27221DB976E48248F26756289B91"
  },
  {
    "id": 3,
    "name": "AnotherTestThing",
    "token": "EF16E5F20B8463E48DBF3BA8F0E1102A"
  }
]'

JSON.parse(array)

答案 1 :(得分:0)

我的问题没有显示我试图JSON.parse的完整字符串。我只把我尝试的内容解析出来。我不小心在我的字符串的JSON部分之前留下了一些浮动数据。现在我删除了它,它正在工作。