gpt4 book ai didi

ruby-on-rails - JSON::ParserError: 743: ROR 中的意外标记

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:44 28 4
gpt4 key购买 nike

我在尝试解析来自 rest_client 的响应时收到此错误。

JSON::ParserError: 743: 意外标记在'{

require 'rest_client'
require 'json'

class Kele
attr_accessor :data
def initialize(u,p)
#@values = {email: u, password: p}
@values = '{"email": "antblessing@gmail.com", "password": "password"}'
@headers = {:content_type => 'application/json'}
@data = self.post
end

def post
response = RestClient.post 'https://private-anon-8506c5665f-blocapi.apiary-mock.com/api/v1/sessions', @values, @headers
end
end

在 Ruby irb 中,

 r = b.post
=> <RestClient::Response 200 "{\n \"auth...">

JSON.parse(r.body)
=> JSON::ParserError: 743: unexpected token at '{

a = Kele.new(1,2)
=> #<Kele:0x000000042e2e18 @values="{\"email\": \"antblessing@gmail.com\", \"password\": \"password\"}", @headers={:content_type=>"application/json"}, @data=<RestClient::Response 200 "{\n \"auth...">>

a.post.body
=> "{\n \"auth_token\":\"eyJ0eXAiOiJKV1QiLCJhhGciOiJIUzI1NiJ9.eyJhcGlfa2V5IjoiYTc2MDZkNTBhYjA3NDE4ZWE4ZmU5NzliY2YxNTM1ZjAiLCJ1c2VyX2lkIjoyMzAzMTExLCJuYW1lIjoiQmVuIE5lZWx5In0.3VXD-FxOoxaGXHu6vmL8g191bl5F_oKe9qj8Khmp9F0\",\n \"user\":\n {\n \"id\":2307245,\n \"email:\"antblessing@gmail.com\",\n \"created_at\":\"2015-08-11T16:31:08.836-07:00\",\n \"updated_at\":\"2015-11-04T13:13:32.457-08:00\",\n \"facebook_id\":null,\n ...,\n \"gender\":null\n }\n}"

我也使用 HTTParty 尝试过这个:

require 'HTTParty'
class Kele
include HTTParty
def initialize(email,password)
@options = {query: {email: email, password: password}}
end

def post
self.class.post('https://private-anon-8506c5665f-blocapi.apiary-mock.com/api/v1/sessions', @options)
end
end

我仍然得到这个错误:

 JSON.parse(a.post.body)
=> JSON::ParserError: 743: unexpected token at '{

最佳答案

在您的第二个示例中,r 不是 JSON,它是一个 RestClient::Response 对象,无法解析。您需要解析 RestClient::Response 的 r.body,因为您在第二个示例中使用 a.post.body 引用了它。

r = b.post         # => <RestClient::Response 200 "{\n    \"auth...">
JSON.parse(r) # => JSON::ParserError: ...
r.body # => "Some valid JSON string"
JSON.parse(r.body) # => Parses "Some valid JSON string"

关于ruby-on-rails - JSON::ParserError: 743: ROR 中的意外标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234846/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com