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

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

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

JSONP(JSON with padding)は、JSONを使用した関数呼び出しのための仕組み。クロスドメインでのデータの受け渡しが可能です。JavaScriptからクロスドメインで容易にデータを扱うことができます。

JSON

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

JavaScript

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

2回答

531閲覧

JSONファイルの中身が配列にJSONオブジェクトが格納されている場合のJSONデータの抽出

Egoil

総合スコア18

JSONP

JSONP(JSON with padding)は、JSONを使用した関数呼び出しのための仕組み。クロスドメインでのデータの受け渡しが可能です。JavaScriptからクロスドメインで容易にデータを扱うことができます。

JSON

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

JavaScript

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2019/06/23 03:53

GASでAtCoderさんで公開されているJSONファイルを使ってBotを作ろうと思ったのですが、JSONファイルの抽出方法がわかりません。
通常なら

GAS

1var fetch = UrlFetchApp.fetch('https://atcoder.jp/users/USERNAME/history/json'); 2var Performance = JSON.parse(fetch)["Performance"];

で取ってこれるとはネットで探してわかったのですが、
JSONファイルにJSONオブジェクトが単一である場合(例えば以下)

JSON

1{"user_id":"USERNAME","accepted_count":831,"accepted_count_rank":265,"rated_point_sum":185200.0,"rated_point_sum_rank":165}

ならば行けるとは思うのですが、JSONオブジェクトが配列に格納されている場合どのような関数を使って抽出したら良いのかわかりません。(例えば以下のようなファイル)
https://kenkoooo.com/atcoder/resources/ac.json

JSON

1[{"user_id":"300iq","problem_count":151},{"user_id":"A01Tachiba7","problem_count":10},{"user_id":"A090","problem_count":5},{"user_id":"A090115","problem_count":3},{"user_id":"A0iro","problem_count":154},{"user_id":"A1073584616","problem_count":7},{"user_id":"A108898","problem_count":2},{"user_id":"A110011","problem_count":9},{"user_id":"A1278162","problem_count":53},{"user_id":"A1278760","problem_count":7},{"user_id":"A1678066","problem_count":3},{"user_id":"A1977747","problem_count":93}]

使う用途としては、配列の最後の部分のJsonオブジェクトを抽出して来れれば良いのですがこの場合どのようにしたら良いのでしょうか。よろしくお願いします。

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

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

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

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

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

kei344

2019/06/23 17:26

まだ質問が「受付中」になっていますが、いったん「解決済」にされてはいかがでしょうか。また、解決されていないなら状況を質問文に追記ください。
Egoil

2019/06/23 17:32

すいません、したつもりでした。うっかりしていました。ごめんなさい。
guest

回答2

0

ベストアンサー

配列として扱えると思いますよ。

js

1var a = JSON.parse(fetch); 2var b = a[a.length - 1]["user_id"];

投稿2019/06/23 03:58

kei344

総合スコア69407

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

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

Egoil

2019/06/23 05:32

さっき調べたらfetchには値が入っていました。 トリガーがないとエラーが出る仕様らしく、今デバッグが出来ていないのですが恐らく出来そうですね ありがとうございます!!
guest

0

配列と同じで添字で取得できると思うので、ループさせて取得してみてはいかがでしょうか?

投稿2019/06/23 04:11

fumito_94

総合スコア679

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

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

Egoil

2019/06/23 05:31

そういうやり方もあるんですね!ありがとうございます
fumito_94

2019/06/23 17:46

解決できたみたいでよかったです! 頑張ってください!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問