【问题标题】:Sending nested JSON from rails app to hapijs app将嵌套 JSON 从 rails 应用程序发送到 hapijs 应用程序
【发布时间】:2017-12-04 08:38:50
【问题描述】:

我正在使用 rails 3.4、node 9 和 Hapi js 16.5.2
我想要做的是将嵌套的 JSON 从 rails 应用程序发送到 hapi js 应用程序,但是发生了一些奇怪的事情。我正在使用 Rest-Client 请求发送 POST 请求。 JSON 格式如下:

data = {
    time => {
        start => "12.11.17",
        end => "13.11.17"
    },
    event => "party"
}

请求的格式如下:

RestClient::Request.new(
    :method => :post,
    :url => "mynodeserverroute",
    :payload => data
).execute

问题是所有嵌套元素的发送都非常奇怪,而不是以下形式:

time: {
        start: "12.11.17",
        end: "13.11.17"
    }

它以形式返回

"time[start]": "12.11.17", 
"time[end]": "13.11.17"

这使得稍后验证变得具有挑战性。 我究竟做错了什么?我尝试在请求中添加以下内容:

:header => {
            :content_type => :json, 
            :accept => :json
}

但这也无济于事。 是否有通过 Rails 发送 JSON 的不同方法?

【问题讨论】:

    标签: javascript ruby-on-rails json node.js ruby-on-rails-3


    【解决方案1】:

    数据看起来很奇怪。它应该类似于:

    "time":{"start":"12.11.17","end":"13.11.17"}
    

    我不知道你的设置。 但我会从一个简单的 rails 内置 response_to 在控制器中开始,并带有相应的路由。然后实现 RestClient::Request。

    例如:

    #routes.rb
    ...
    get '/this-url-is-for-seeing-the-data' => 'controller_name#post_this'
    ...
    

    然后在控制器中:

    def post_this
      respond_to to |format|
        format.json { render json: { time: { start: "12.11.17", end: "13.11.17" } } }
      end 
    end  
    

    您现在可以访问网址:/this-url-is-for-seeing-the-data.json 并在浏览器中查看数据。

    现在你知道它是对的,你可以构建其余的,我希望 :)

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多