0

RailsでJSONを初めて使用し、それが非常に基本的であると思われるものを理解しようとしています。Stripe Rails Libraryを使用して作業しており、JSON要素の1つを解析して変数に設定しようとしています。

これが私の実際の試みです:

    coupon = Stripe::Coupon.retrieve(self.discount_code)
    parsed_json = ActiveSupport::JSON.decode(coupon)
    discount_amount = parsed_json["percent_off"]

この行は機能します:

coupon = Stripe::Coupon.retrieve("save50percent")

コンソールで「putscoupon」を実行すると、JSON文字列が表示されます

JSON:{"id": "test50"、 "duration": "once"、 "duration_in_months":null、 "livemode":false、 "max_redemptions":null、 "object": "coupon"、 "percent_off":50 、" redeem_by":null、 "times_redeemed":0}

しかし、実行しようとしています:

parsed_json = ActiveSupport::JSON.decode(coupon)

次のエラーが発生します。

TypeError: can't convert Stripe::Coupon into String

JSONから値を解析しようとさえしていません-これは私が間違ってアプローチしたと確信しています。

ありがとう

4

2 に答える 2

3

あなたのエラーメッセージはそれをすべて言っています:couponは でありStripe::Coupon、 ではありませんString利用可能な方法を使用してみてくださいto_json

于 2012-06-16T14:16:17.877 に答える
-1

クーポンは JSON のような文字列ではなく、印刷すると文字列のように見えると思います。むしろ文字列表現をデコードしてみてください。これのコードはよくわかりませんが (私は RoR プログラマーではありません)、あなたがいる状況と似たような状況をたくさん見てきました...

于 2012-06-16T14:15:32.050 に答える