2017-06-28 28 views
-3

内の項目数を数えますか?JSONは次のように私はJSONオブジェクトを持つルビー

+0

このコードのコンテキストを明確にすることはできますか? – Ursus

+0

このjsonオブジェクトをHTTP GETリクエストの出力として取得しています。今では、 "果物"と "木"の中にあるアイテムの数を数えたいだけです。私は実際に得ている情報の代わりにこれらの名前を使用しました。ちょうど情報を開示しないでください。あなたは今助けてもらえますか? –

+0

'json = JSON.parse(jsonobject)[" trees "]。サイズ'? – Kris

答えて

4

まず、小さな修正。あなたのjsonオブジェクトは文字列でなければなりません。 jsonオブジェクト全体を一重引用符で囲みます。木の

jsonobject = '{"fruits": [{"name": "A","uri": "a.com"},{"name": "B","uri": "b.com"}],"trees": [{"name": "t1","uri": "t1.com","status": null},{"name": "t2","uri": "t2.com","status": null}]}' 

あなたがここにルビーのJSONライブラリを利用することができます...

数果物の

JSON.parse(jsonobject)["trees"].size 

JSON.parse(jsonobject)["fruits"].size 

UPDATE: jsonobjectを文字列にする方法

jsonobject =%q({"fruits":[{"name": "A"、 "uri": "a.com"}、{"name": "B"、 "uri": "b" "名前": "t1"、 "uri": "t1.com"、 "ステータス":null}、{"名前": "t2"、 "uri" "t2.com"、 "status":null}]})

+0

これは実際問題です。私は一重引用符なしで入力を得ています。それを最初にルビーの文字列にする方法は? Rubyの%qを –

+0

助けてください。私の編集を確認してください... –

+0

それは働いた。ありがとう、トン。小さな疑い。もし私が他のプログラムの出力としてjsonobjectを持っていて、要素を数えたいのであれば、それを別のプログラムで書くことなくどうすればいいですか? jsonobject =%qjsonobjectと書くことはできますか? –

関連する問題