0
私が必要とするのは、本体にアクセスするキー/値の特定の数があるケメールのPOSTリクエストと、次にストリング化して渡すだけの任意のJSONオブジェクトです後でJSONに解析します。kemalのPOSTでJSONを取得
私の問題は、明らかにタイプを正しく取得できないことです。このような潜在的なJSON本体の 思う:
{
"endpoint": "http://example.com",
"interval": 500,
"payload": {
"something": "else",
"more": {
"embedded": 1
}
}
}
は今、私がやろうとしていたもの以下である:
require "kemal"
post "/schedule" do |env|
endpoint = env.params.json["endpoint"].as(String)
interval = env.params.json["interval"].as(Int64)
payload = String.from_json(env.params.json["payload"].as(JSON::Any))
# ... move things along
env.response.content_type = "application/json"
{ id: id }.to_json
end
Kemal.run
今、私は「ペイロード」をアクセスするときになっているようだどうやら何タイプHash(String, JSON::Type)
なので、少し混乱します。
どのように私はちょうど要求の本文からサブJSONを得ることができるだろう任意のアイデアは、文字列に戻ってJSONに変換?
うーんは、今 'payload_as_string.to_json'は、このような文字列ではなく、有効なJSON文書を...返します=> {\ "埋め込み\" => 1}} " – tpei
答えを更新しました –