【发布时间】:2011-08-15 16:31:10
【问题描述】:
这更像是一个“我在做这个正确的问题吗”。
基本上我已经完成了您的标准客户端服务器设置。
我正在尝试将多个对象作为一个对象发布到服务器。发布的对象是:
1:一维字符串数组(非常简单)@headers
2:一个散列数组,每个散列包含大约 7 个值和键。 @contentsArray
我认为类似下面的方法可以解决问题
@postedInfo = {:info =>
{
:headers =>@headers,
:content => @contentsArray
}
}
myJsonReq = @postedInfo
puts "ITS A MAAAAAAAAAAADDDDD HOUUUUUSSSSSEEEEE" #Sorry, I just saw rise of the planet of the apes
puts myJsonReq.as_json
res = Net::HTTP.post_form(URI.parse('http://127.0.0.1:3007/update.json'),myJsonReq)
定义的 URL 显然是服务器,但它是如何通过的,如下所示
format: json
action: update_repo
pages: "content Page Title ........."very long string with no brackets or resemblance of JSON" followed by the headers part
headers: all strings are in here
controller: Update
如果我像这样创建一个变量
@x = (params[:pages])
and puts @x.class
@x 是一个字符串,在其他代码中它会作为一个对象出现。访问无关的数组或哈希。
我自然认为我必须从 JSON 反序列化它,所以我使用了该行的
JSON.parse(@x)
JSON.parse(params)
两者都抛出 JSON::ParserError (745: 'content .... 处的意外令牌,然后是字符串的其余部分。
我认为我是在正确发送对象还是以错误的方式构造它们?
【问题讨论】:
-
您是否尝试过使用@contentsArray.to_s?
标签: ruby-on-rails ruby json params correctness