我有一个保存到JSON文件的程序,这是我第一次尝试使用JSON文件,所以如果这是一个非常简单的问题我会道歉。
我的程序内部有一个解析JSON文件的方法,并删除用户提供的信息,称为delete_user
。在从delete_user
方法解析文件时,我收到错误:
C:/Ruby22/lib/ruby/2.2.0/json/common.rb:155:in `parse': 776: unexpected token at
'users.json' (JSON::ParserError)
from C:/Ruby22/lib/ruby/2.2.0/json/common.rb:155:in `parse'
from usertool.rb:35:in `delete_user'
from usertool.rb:15:in `menu'
from usertool.rb:66:in `<main>'
我知道错误告诉我我的JSON文件没有解析,但我不明白是为什么..
错误来自的delete_user
方法:
def delete_user
hash = JSON.parse('users.json')
delete_data = prompt("Enter username:")
delete_data[:username] = "#{username}"
delete_data.delete[:email_address, :member_status]
new_json = delete_data.to_json
delete_user if restart
end
我是如何解析文件的问题,我做错了吗?还是有另一个问题在我脑海中浮现?
以下是JSON文件的示例:
{"username":"TEST1","email_address":"TEST1","member_status":"TEST1"}
答案 0 :(得分:1)
这将有效:
JSON.parse(File.read('file-name-to-be-read.json'))
json.parse [string]
解析普通JSON,但不加载文件。相反,传递一个文件对象,它将读取它内部的JSON。
JSON是一种将对象编码为字符串的方式 - 它基于如何定义javascript对象( J ava S cript- O ption-的ñ强>浮选)。它是一个字符串 - 而不是文件保护程序,这意味着您可以在更多应用程序(如API)中使用它,同时将数据保存到文件中。