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

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

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

Server+は、IT業界団体CompTIAが認定しているサーバー業務に関する資格です。サーバーのHW/SW構築・メンテナンス・仮想化など、サーバー運営上の運用・管理において幅広く対応できるスキルを評価します。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

3回答

6733閲覧

【Unity】JSONデータの1部を抜き出す方法

sktzky81004

総合スコア16

Server+

Server+は、IT業界団体CompTIAが認定しているサーバー業務に関する資格です。サーバーのHW/SW構築・メンテナンス・仮想化など、サーバー運営上の運用・管理において幅広く対応できるスキルを評価します。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2017/10/06 05:16

現在UnityのC#でJSONデータの一部情報を別の変数に格納したいと考えているのですが、下記のJSONデータから "geometry"の"location"の"lat","lng"データを欲しいのですが、どのようなやり方で行えばいいのか分かりません。
このJSONデータは今は1つのコンビニの情報しか無いのですが、数千件のコンビニの情報が入っているJSONから"geometry"の"location"の"lat","lng"データだけを取り出して格納する方法があれば教えていただきたいです。

JSON

1{ 2 "html_attributions": [], 3 "next_page_token": "CqQCHwEAAPLxtM40wh4zXcrDFppxklPfFACyK7bbFkpB1ApZehDYBvT7Hzz6FxxtgjzrJOvbniOBLzcAjinSF8_U8U1tuRYbqk1z20w0YDsb4gIO_EZN8vzn8f-c5IiokvznMSPKv8UiaVkPXqZf-f_Lt3oB6BPCb1u1D488WiIbHn0qKgHEA8CAwxQl23V8rzbMq0inSM3O-2Uz5SJ6BrBjp1LGhvliqOs5zkFeNKnZNTamqfmBXN_qt3wfq7Npi5PWhMbWNmuoQ38VxWQvRYNGlTklTjecHLOLlWqknUY9lJYW8CnXQcx7weaJhnzr38UZ1iI0qcStkT8hzZlkD_3_HtkSPhTcjtgrVpG0jOO1zWxrfSsP9-dTGug9U5XQfm-Lj3ZA1RIQCxF2TSz-f5eAPmBJBvsJxxoUYT2akvzw4ZB13TS43wZbSLOOcNw", 4 "results": [ 5 { 6 "geometry": { 7 "location": { 8 "lat": 35.154843, 9 "lng": 136.8981343 10 }, 11 "viewport": { 12 "northeast": { 13 "lat": 35.1561919802915, 14 "lng": 136.8994832802915 15 }, 16 "southwest": { 17 "lat": 35.1534940197085, 18 "lng": 136.8967853197085 19 } 20 } 21 }, 22 "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png", 23 "id": "9cd503e6d1e5b7a2c4c9d80e4b05d85e4f8b7ea0", 24 "name": "ファミリーマート松原二丁目店", 25 "opening_hours": { 26 "open_now": true, 27 "weekday_text": [] 28 }, 29 "photos": [ 30 { 31 "height": 2448, 32 "html_attributions": [ 33 "<a href="https://maps.google.com/maps/contrib/106491165868056550507/photos">Tom S</a>" 34 ], 35 "photo_reference": "CmRaAAAAKcLopwxkF_OGshVB_ShAL13BvOEZHxxP4AB2bE0ewMfmnJ5mQFhcFR_Psbo8TAg093CPbRx1GErUhGGNxI2pNLw059qu1x1w3dvpH5dte0Ldw2JtrV7s-Wi0XFJx3xxkEhCRnIQb25GpnK0RmtQ9ewUZGhQ0WBPnvKZQKXY3mrz4Oy-ZzcF55g", 36 "width": 3264 37 } 38 ], 39 "place_id": "ChIJJXrYLjR3A2ARUFLvbFUq82E", 40 "rating": 3, 41 "reference": "CmRRAAAAE109iQtLSm9XwJ51I6riLKezSX32SaAa4NkCqBJ-EHLsFtjP-HtUv_AbMBhTm7rR1lN3EkMATjIIlTkriwOY7qc3tsvS7SMruOT3XuWZLAEgt0zlSOOlkcBYfQfNAlz-EhBU6Ugqy5ZxTKyff4CZzHtOGhTPomn4BRzhPEUWUyKcxTg7Swoorg", 42 "scope": "GOOGLE", 43 "types": [ 44 "convenience_store", 45 "food", 46 "store", 47 "point_of_interest", 48 "establishment" 49 ], 50 "vicinity": "名古屋市中区松原2丁目12−12" 51 }, 52 "status": "OK" 53}

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

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

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

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

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

guest

回答3

0

ベストアンサー

最速はこの方法らしいよ。
http://neue.cc/2017/09/29_559.html

DataContractJsonSerializerは古くて遅いので、存在していないものでいいんじゃないかな。

それはともかく、
0. JSONから、C#のクラスをつくる
要は、JSONをコピペするのだけど、下記のURLを参考に
https://qiita.com/tsgkdt/items/3e108b2b6c7f2a7e0b21
0. JSONをC#のオブジェクトに変換
https://qiita.com/ta-yamaoka/items/a7ff1d9651310ade4e76
0. Linqを使って、抽出

 var geometry_list = convert_obj.results.Select(n=> n.geometry)

みたいな感じで行う流れだと思います。

投稿2017/10/06 07:23

kiichi54321

総合スコア1984

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

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

sktzky81004

2017/10/13 05:28

2番の 「Json.NET http://www.newtonsoft.com/json C#.NETでJSONのパースを行うライブラリとして、 Json.NETを使ってみましたがとても便利です。 NuGetで導入できます。」の部分は何かをダウンロードして何処かに入れないといけないんですか?
sktzky81004

2017/10/13 05:39 編集

連投すいません。 [JsonObject("user")] public class UserModel { [JsonProperty("id")] public int UserID { get; set; } [JsonProperty("name")] public string Username { get; set; } } この文の `[JsonObject("user")]` `[JsonProperty("name")]` この文を入力するとエラーを吐いてしまいます。 なぜか分かりませんので、よろしければ教えていただければ幸いです。 コード囲い方わからず汚くてすみません。
kiichi54321

2017/10/13 05:59

1、「C# Nuget」でググって。基本の基本 2、適当にUsingが必要。VSでの指示に従ってください。
guest

0

takano20771さんがいくつか挙げてますが、Unityの標準機能にもJsonUtility.FromJson()というものがあります。
https://docs.unity3d.com/jp/540/ScriptReference/JsonUtility.FromJson.html

投稿2017/10/06 06:28

fiveHundred

総合スコア9796

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

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

0

C#でjsonデータをパースする場合,

  • DataContractJasonSerializer(System.Runtime.Serialization.Json名前空間)
  • DynamicJason
  • Json.NET

を使う方法が一般的かと思います.

Jsonデータが固定されていて,変わることがない場合や,サードパーティのライブラリを使いたくない場合,DataContractJasonSerializerが良いかと思います.
しかし,この場合不定のデータの場合はなかなか難しいのでDynamicJason,Jason.NETを使うのが良いかと思います.

投稿2017/10/06 05:34

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問