这更像是“我在做这个正确的问题”。
基本上我有你的标准客户端服务器设置。
我正在尝试将多个对象作为一个对象发布到服务器。发布的对象是:
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: unexpected token at 'content .... 然后是字符串的其余部分。
我想我是在正确发送对象还是以错误的方式构造它们?