Как разобрать файл JSON в Ruby версии 1.8.7

У меня есть файл с именем Output.json:

[
  {
    "name": "krishna",
    "service": "postman",
    "host": "xxxxxx",
    "doing": [],
    "pool": "xxxxxx",
    "roleType": "yyyyy",
    "simple": true
  }
 ]

И это мой файл Test.rb:

require 'rubygems'
require 'json'
require 'pp'

file = File.read('output.json')
data_hash= JSON.parse(file)
pp data_hash

Когда я пытаюсь запустить скрипт, я получаю:

from /usr/lib/ruby/gems/1.8/gems/json-1.4.6/lib/json/common.rb:146:in `parse'

Как напечатать значение "Кришна", когда я вызываю имя из файла JSON.

1 ответ

Хотя я никогда не пробовал версию 1.8.7 (только 1.9.3 и выше)

Я предполагаю, что ваша проблема в том, что вы неправильно читаете файл. Попробуйте вместо этого File.open

Попробуй это:

file = File.open('output.json').read
data_hash = JSON.parse(file)
pp data_hash

Что касается печати значения Кришны, попробуйте это (после разбора):

puts data_hash['name']  # this outputs krishna

Удачи

Другие вопросы по тегам