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

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

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

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

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1171閲覧

それぞれ一つのテーブルを持った二つのjsonファイルをjs内で結合したい。

okomekei02

総合スコア12

JSON

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

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/05/03 10:23

それぞれ一つのテーブルを持った二つのjsonファイルを結合したいです。具体的には

json1

1//first.json 2"nodes":[ 3 {id:0, label:"nodeA"}, 4 {id:1, label:"nodeB"}, 5 {id:2, label:"nodeC"}, 6 {id:3, label:"nodeD"}, 7 {id:4, label:"nodeE"}, 8 {id:5, label:"nodeF"} 9 ]

json2

1//second.json 2"links":[ 3 {source:0, target:1}, 4 {source:0, target:2}, 5 {source:1, target:3}, 6 {source:1, target:3}, 7 {source:2, target:1}, 8 {source:2, target:3}, 9 {source:3, target:4}, 10 {source:4, target:5}, 11 {source:5, target:3} 12 ]

この二つのjsonファイルを同時に読みこんでjs内で一つのファイルとして以下のように結合したいのですが、どのような方法で行えばいいかわかりません。。

json3

1//second.json 2{ 3"nodes":[ 4 {id:0, label:"nodeA"}, 5 {id:1, label:"nodeB"}, 6 {id:2, label:"nodeC"}, 7 {id:3, label:"nodeD"}, 8 {id:4, label:"nodeE"}, 9 {id:5, label:"nodeF"} 10 ], 11 12"links":[ 13 {source:0, target:1}, 14 {source:0, target:2}, 15 {source:1, target:3}, 16 {source:1, target:3}, 17 {source:2, target:1}, 18 {source:2, target:3}, 19 {source:3, target:4}, 20 {source:4, target:5}, 21 {source:5, target:3} 22 ] 23}

わかる方いましたらご教授お願いします。。

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

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

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

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

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

AkitoshiManabe

2020/05/03 22:02

意を組んで回答が上がっていますが、first.json、 second.json ともに、以下の2点について JSON のノーテーションに訂正してください. 1. {, } で囲い、オブジェクトであることを示す 2. キーはダブルクォーテーションで囲う
guest

回答2

0

ベストアンサー

こんにちは

ご質問に付加されたタグから推測すると、やりたいのはこういうことかなと思いましたが、いかがでしょうか?(JSONファイルは、jsons というディレクトリに入っているとします。)

html

1<pre id="result"></pre>

javascript

1 const readers = ["first", "second"].map(file => 2 fetch(`jsons/${file}.json`).then(res => res.json()) 3 ); 4 5 Promise.all(readers).then(jsons => { 6 const data = Object.assign({}, ...jsons); 7 $("#result").text(JSON.stringify(data, null, 4)); 8 });

追記

JQuery を使うのでしたら、 fetch や Promise.all を使わず、$.getJSON と $.when を使ってもできます。

javascript

1 const readers = ["first", "second"].map(file => 2 $.getJSON(`jsons/${file}.json`) 3 ); 4 5 $.when(...readers).done((...args) => { 6 const data = Object.assign({}, ...args.map(arg => arg[0])); 7 $("#result").text(JSON.stringify(data, null, 4)); 8 });

投稿2020/05/03 11:42

編集2020/05/03 13:25
jun68ykt

総合スコア9058

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

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

Yasumichi

2020/05/03 12:24

勉強になります。 スマートですけど、ちょっと高度な気がしますね。
jun68ykt

2020/05/03 12:51

@Yasumichiさん コメントありがとうございます。 そうですね。JQuery を使うのでしたら、追記したように $.getJSON と $.when を利用するのが分かりやすいかもしれません。
Yasumichi

2020/05/03 12:54

恥ずかしながら、スプレッド構文(...)というのを初めて知りました。勉強になります。 【JavaScript】スプレッド構文の便利な使い方まとめ - Qiita https://qiita.com/Nossa/items/e6f503cbb95c8e6967f8 上記のリンクの精査はしてないですが。
okomekei02

2020/05/11 16:39

ありがとうございます!少し難しいですが、とても参考になりました!
jun68ykt

2020/05/12 05:01 編集

@okomekei02さん どういたしまして???? > とても参考になりました! とのことでよかったです????
guest

0

javascript

1first = JSON.parse('{"nodes":[{"id":0,"label":"nodeA"},{"id":2,"label":"nodeC"},{"id":3,"label":"nodeD"},{"id":4,"label":"nodeE"},{"id":5,"label":"nodeF"}]}'); 2 3second = JSON.parse('{"liks":[{"source":0, "target":1},{"source":0, "target":2},{"source":1, "target":3},{"source":1, "target":3},{"source":2, "target":1},{"source":2, "target":3},{"source":3, "target":4},{"source":4, "target":5},{"source":5, "target":3}]}'); 4 5third = {}; 6third.nodes = first.nodes; 7third.links = second.liks;

では、ダメでしょうか?肝となるのは下3行です。

投稿2020/05/03 10:46

編集2020/05/03 10:52
Yasumichi

総合スコア1773

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問