質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Q&A

1回答

241閲覧

json形式のコードをうまく表示できない

k.lolo

総合スコア4

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

0グッド

0クリップ

投稿2023/05/12 23:29

json形式のコードをうまく表示することができません。以下のコードを入力してもエラーが出るのですがなぜでしょうか?

エラーメッセージ "error": "Internal Server Error", "exception": "#<SyntaxError:\"/Users/ka-osugi/Desktop/kanri/app/controllers/v1/stocks_controller.rb:17: syntax error, unexpected ':', expecting =>\\n...nder json: {stocks[0][\\\"name\\\"]: stocks[0][\\\"amount\\\"]}\\n...

該当のソースコード

def index stocks = Stock.order(:name) render json: {stocks[0]["name"]: stocks[0]["amount"]} end

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

以下のコードを入力してもエラーが出るのですがなぜでしょうか?

ハッシュオブジェクトを作る際に、キーを式にしたい場合はハッシュロケットを使う必要があります。

ruby

1render json: {stocks[0]["name"] => stocks[0]["amount"]}

投稿2023/05/13 01:46

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.lolo

2023/05/13 07:51

ご回答ありがとうございます。 もう一つ質問なのですが’ def index stocks = Stock.order(:name)で全てのデータベースを取得した後、 {"name":amount,"name":amount,"name":amount}というふうに順番に表示したいのですがどのようにコードを記述すればよろしいでしょうか? ちなみに stocks = Stock.order(:name)のコードで { "id": 12, "name": "1", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:41:20.392Z", "updated_at": "2023-05-12T09:41:20.392Z" }, { "id": 13, "name": "AA", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:43:05.844Z", "updated_at": "2023-05-12T09:43:05.844Z" }, { "id": 10, "name": "KOKO", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:30:21.687Z", "updated_at": "2023-05-12T09:30:21.687Z" }, { "id": 11, "name": "KOKO", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:35:10.642Z", "updated_at": "2023-05-12T09:35:10.642Z" }, { "id": 15, "name": "ZZ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:47:50.450Z", "updated_at": "2023-05-12T09:47:50.450Z" }, { "id": 16, "name": "aZ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:48:28.944Z", "updated_at": "2023-05-12T09:48:28.944Z" }, { "id": 14, "name": "aa", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:47:00.046Z", "updated_at": "2023-05-12T09:47:00.046Z" }, { "id": 8, "name": "k", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:30:05.511Z", "updated_at": "2023-05-12T09:30:05.511Z" }, { "id": 9, "name": "kkkkkk", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:30:12.409Z", "updated_at": "2023-05-12T09:30:12.409Z" }, { "id": 17, "name": "mako", "amount": 2, "price": null, "created_at": "2023-05-12T11:05:36.746Z", "updated_at": "2023-05-12T11:05:36.746Z" }, { "id": 7, "name": "コスコすこす", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:28:41.896Z", "updated_at": "2023-05-12T09:28:41.896Z" }, { "id": 6, "name": "テレ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:07:49.445Z", "updated_at": "2023-05-12T09:07:49.445Z" }, { "id": 1, "name": "テレビ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T08:33:57.712Z", "updated_at": "2023-05-12T08:33:57.712Z" }, { "id": 2, "name": "テレビ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T08:46:51.746Z", "updated_at": "2023-05-12T08:46:51.746Z" }, { "id": 3, "name": "テレビ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T08:50:06.106Z", "updated_at": "2023-05-12T08:50:06.106Z" }, { "id": 4, "name": "テレビ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T08:50:07.647Z", "updated_at": "2023-05-12T08:50:07.647Z" }, { "id": 5, "name": "テレビ", "amount": 1, "price": "10.0", "created_at": "2023-05-12T09:01:09.573Z", "updated_at": "2023-05-12T09:01:09.573Z" } のように保存されています。 よろしくお願いいたします。
maisumakun

2023/05/13 15:10

> {"name":amount,"name":amount,"name":amount}というふうに順番に表示したいのですが JSONに同じキーは複数入れられませんし、順番も保証されません。
k.lolo

2023/05/13 18:08

ご回答ありがとうございます。 {"name":amount,"name":amount,"name":amount…}というのはつまり上のデータで言いますと{1:1,"AA":1,"KOKO":1…}というように全ての値を出力するという意味なのですが無理でしょうか?
maisumakun

2023/05/13 22:21

JSONというデータ構造そのものが、順番に意味を持たないようになっていますので、「順番に表示」するために使うのは妥当ではありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問