[英]How to parse a json response in rails
第一次在Rails中使用JSON并试图弄清楚它应该是非常基本的东西。 我正在使用Stripe Rails库并尝试解析并将其中一个JSON元素设置为变量。
这是我的实际尝试:
coupon = Stripe::Coupon.retrieve(self.discount_code)
parsed_json = ActiveSupport::JSON.decode(coupon)
discount_amount = parsed_json["percent_off"]
这条线有效:
coupon = Stripe::Coupon.retrieve("save50percent")
在控制台中运行“puts coupon”会显示JSON字符串
JSON:{“id”:“test50”,“duration”:“once”,“duration_in_months”:null,“livemode”:false,“max_redemptions”:null,“object”:“coupon”,“percent_off”:50 “redeem_by”:空, “times_redeemed”:0}
但试图运行:
parsed_json = ActiveSupport::JSON.decode(coupon)
导致以下错误:
TypeError: can't convert Stripe::Coupon into String
我甚至没有试图解析JSON中的值 - 我确信我接近了错误。
谢谢
您的错误消息说明了一切: coupon
是Stripe::Coupon
,而不是String
。 尝试使用可用的to_json
方法
我会假设优惠券不是一个看起来像JSON的字符串,但在打印它时看起来像一个。 尝试解码它的字符串表示。 我不确定这个代码(我不是一个RoR程序员)但是我看到了很多类似于你所在的情况......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.