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

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

新規登録して質問してみよう
ただいま回答率
85.50%
JSON

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

617閲覧

JSONファイルから値を取得したい

Otazoman

総合スコア44

JSON

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/03/26 06:57

編集2018/03/26 07:21

前提・実現したいこと

JSONのファイルを取得して、そのファイルを元に
HTMLに展開を行いたいと考えています。

JSONで値を取得するのにキーを1行ずつ書けばおそらく
実現できそうなのですが、連番というわけでもなく
そのままうまく回せない感じです。

現物は80個ほど項目がありキー名を指定するとメンテナンスが
難しくなります。

そこで何とか下記の様な感じで短めにまとめたいのですが
妙案が思い浮かびません。

ぜひお力をお貸しいただけないでしょうか。

現在はこんな感じです。

for(var i = 1;i<rt.length;i++){ for(var j=0;j < rt[i].length;j++){ ohtml = ohtml + j; console.log(rt[i].keys[j]); } }

該当のJSON

sample.json

1[ 2 { 3 "count": "2" 4 }, 5 { 6 "1": "名称1", 7 "2": "1", 8 "3": "4000", 9 "4": "800", 10 "6": "あああ", 11 "8": "http://www.google.co.jp", 12 "9": "http://yahoo.co.jp", 13 "10": "2017/02/01", 14 "11": "○", 15 "12": "○", 16 "13": "×", 17 "14": "×", 18 "15": "○", 19 "16": "×", 20 "17": "×", 21 "18": "×", 22 "19": "×", 23 "20": "×", 24 "image_uri": "img/p/", 25 "i.sex": "1", 26 "i.age": "30", 27 }, 28 { 29 "1": "名称2", 30 "2": "1", 31 "3": "4000", 32 "4": "900", 33 "6": "いいい", 34 "8": "http://example.com", 35 "9": "http://example.com", 36 "10": "2017/02/01", 37 "11": "○", 38 "12": "○", 39 "13": "×", 40 "14": "×", 41 "15": "○", 42 "16": "×", 43 "17": "×", 44 "18": "×", 45 "19": "×", 46 "20": "×", 47 "image_uri": "img/p/", 48 "i.sex": "1", 49 "i.age": "30", 50 } 51] 52

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

下記の環境で動作させているので下記の環境で動くものが
ありがたいです。

Windows10/64bit
InterNetExplorer11

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

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

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

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

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

m.ts10806

2018/03/26 07:05

「JSONのファイルを取得」部分のコードはまだ書かれていないのでしょうか?あるようでしたら念のため追記願います。
kszk311

2018/03/26 07:11

「 "6": "いいい,」の値が、クォーテーション閉じられていないので、閉じておいてくださいね。
guest

回答2

0

ベストアンサー

後少し整理すれば出来たものと思われます.

JavaScript

1var json = [{/*メタデータ*/},{/*データ1*/},{/*データ2*/}]; 2for(var i = 1, len = json.length; i < len; i++){//メタデータは跳ばす 3 var data = json[i]; 4 for(var key in data){ 5 console.log(key, data[key]);//ここでデータを加工 6 } 7}

投稿2018/03/26 07:08

defghi1977

総合スコア4756

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

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

Otazoman

2018/03/26 08:14

ありがとうございます。 意図した動作になりました。
guest

0

最終的には以下のようなコードで意図した動作ができました。
皆様ありがとうございます。

JavaScript

1for(var i = 1, len = rt.length;i<len;i++){ 2 var targetData = rt[i]; 3 for(var key in targetData){ 4 console.log(key + ':' + targetData[key]); 5 } 6}

投稿2018/03/26 08:16

Otazoman

総合スコア44

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問