Hallo Ich habe eine JSON-Daten und es gibt einige Einschränkungen in JSON-Daten, um Daten im selben Format (wie String, JSON usw.) zu übergeben. unten ist mein Code: -JSON parse Rails Fehler
buttons:[{
type: "postback",
title: p.name,
payload: "get_product"
}]
hier die Nutzlast Schlüssel in der Zeichenfolge werden passieren sollte, aber ich habe auch usw. wie product_id, Name so einige andere Schlüssel zu übergeben, was ich tat, ist: -
buttons:[{
type: "postback",
title: p.name,
payload: "{'payload': 'get_product, 'product_id': #{p.id} }"
}]
jetzt, wenn ich die Nutzdaten bekommen werde, dann ist es so payload = "{'payload': 'get_product', 'product_id': d644bfda-2194-447c-b0f1-5d4f52c783a4 }"
und wenn ich die Zeichenfolge zu JSON analysieren und es Fehler JSON.parse(payload)
Processing by Messenger::Bot::Space::StationController#receive as */* *** JSON::ParserError Exception: 784: unexpected token at '{'payload': 'get_product', 'product_id': d644bfda-2194-447c-b0f1-5d4f52c783a4 }'
wirft.
Ich kenne den Grund, warum seine Fehler wirft, weil die Nutzdaten innerhalb der einfachen Anführungszeichen so, wenn ich es tat, um payload = '{"payload": "get_product", "product_id": "d644bfda-2194-447c-b0f1-5d4f52c783a4" }'
und als ich habe JSON.parse(payload)
(byebug)
Nutzlast = ‚laufen { "Payload": "get_product", "product_id": "d644bfda-2194-447c-b0f1-5d4f52c783a4"}‘
(byebug) JSON.parse (Payload)
01.235.{ "Nutzlast" => "get_product", "product_id" => "d644bfda-2194-447c-b0f1-5d4f52c783a4"}
Aber das Problem ist, wenn ich außerhalb der '{"payload": "get_product", "product_id" => #{p.id} }'
Apostrophe bin mit dann Product_id Key-Wert nicht wegen String-Interpolation gedruckt, was soll ich tun.
haben Sie versucht '' payload: "{'payload': 'get_product,' product_id ':' # {p.id} '}" '? – tomtomtom
Wie auch immer, Sie vermissen ein einzelnes Zitat in 'Nutzlast:" {'Nutzlast': 'get_product,' product_id ': # {p.id}} "nach get_product. – Roshan