• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:復数の配列をJson形式にまとめたい)

復数の配列をJson形式にまとめる方法

このQ&Aのポイント
  • JavaScriptを使用して、カンマ区切りのデータを配列に変換し、JSON形式にまとめる方法をご紹介します。
  • jQueryを利用することで、より簡潔に配列をJSON形式に変換することができます。
  • 要素ごとにループを回してJSON形式にまとめることで、効率的に配列を結合することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

愚直にやるなら var msdata = (function(){  var temp = [ms.split(/,/), pilot.split(/,/), cost.split(/,/)];  var o = {}, n = temp[0].length;  for (var i = 0; i < n; i++) {   var m = temp[0][i].trim();   var p = temp[1][i].trim();   var c = temp[2][i].trim();   o[m] = { pilot:p, cost:c };  }  return o; })(); 本格的にやるなら、以下のようなライブラリを利用することになります。 https://www.google.co.jp/search?q=csonv.js

Search_tmp
質問者

お礼

ありがとうございます! 3つの変数を配列化して、tempに格納。 オブジェクト、oを定義。 変数msの数を取得。 その数分ループして、都度m、p、cの変数に格納し、 最後にオブジェクトoにまとめる。 という感じだと思うのですが、 とてもこれを書くスキルは自分にはありませんでした。 あらためて解析して、把握します。 この度は終始ご丁寧な対応を賜り、本当にありがとうございました。 大変為になりました。

その他の回答 (2)

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.2

あ、配列をJSON形式にする方法のベストですか。なるほど質問を誤認していました。…が、それは最初の一回しか行わない処理ですし、ベストとか考える必要は無く普通にループで格納するだけでいいと思いますよ。

Search_tmp
質問者

補足

お付き合いありがとうございます! 意図も理解いただき感謝です。 > 普通にループで格納するだけ というのは、今回の例で言えば具体的にはどんな記述でしょうか。 調べ方が下手で情けないのですが、 既にJson形式になったものからの説明が多くて、詰まっております。 参考になるページでも構いませんので、ご教授いただけますと大変ありがたいです。

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

そもそも本来はデータというのは、どのように使うかによって表現方法を変えるべきです。しかしこの質問ではどのように使うか説明がないので、ベストな方法はこの状況では誰にも分からないと思いますよ。 ただいまの情報の中で私が使用する方法を想像して補った上で、データ構造を考えるとすれば以下のようにします。 var msdata = {   ガンダム : {"pilot":"アムロ", "cost":"100"},   ガンキャノン : {"pilot":"カイ", "cost":"70"} }; 配列にしてしまうとデータの特定・取り出しに、以下のような原始的で回りくどい方法をとらねばなりませんが、 for (var i = 0; i < testdata.length; i++) {   if (testdata[i].ms == "ガンダム") {     alert(testdata[i].pilot);     break;   } } 上記のデータ構造なら、以下のようにシンプル・スマート・高速にデータを取り出すことができます。 alert(msdata["ガンダム"].pilot);

Search_tmp
質問者

補足

アドバイスありがとうございます! そして説明不足で本当に申し訳ありません。 経緯としては、 カンマ区切りのデータが復数あって、それらをいろいろと扱う際に いったんJson形式で取りまとめておけば、使い回す際にラクな状況でして、 その為のよりよい手法をお尋ねした次第です。 伺いたいのは、上記の配列(3個)から ご提示いただいたような var msdata = {   ガンダム : {"pilot":"アムロ", "cost":"100"},   ガンキャノン : {"pilot":"カイ", "cost":"70"} }; この形を作るための方法です。 Json形式にすれば取り出す方法もわかるのですが、 その前段階にあたる「Json形式にする方法」で悩み中です。 msdataに   ガンダム : {"pilot":"アムロ", "cost":"100"},   ガンキャノン : {"pilot":"カイ", "cost":"70"} が入っている状態を作る為の方法を知りたいです。