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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

1回答

2846閲覧

jsonの2次元配列をkotlinで取得したい

退会済みユーザー

退会済みユーザー

総合スコア0

JSON

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/01/14 08:22

前提・実現したいこと

json形式で送られてくる2次元配列をkotlinで取得したいのですが、1次元の状態でしか保存されず、うまくいきません。

json

1"hoge" : [[1,1],[2,2],[3,3]]

kotlin

1var hogehoge: Array<Int> //宣言 初期化は無し

以下のように最初の要素しか保存されません

hogehoge -> [1,1]

2次元で保存するにはどのようにkotlinのコードを記述すれば良いでしょうか?

よろしくお願いいたします

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

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

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

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

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

TakaiY

2020/01/14 15:36

JSONのデータをkotlinのデータにする方法はいろいろあるのですが、あなたのやりたかったをことより明確にするために、「最初の要素しか保存され」なかったコードも提示していただけますか。
guest

回答1

0

Jacksonとか使うといいとおもますよ。

https://mvnrepository.com/artifact/com.fasterxml.jackson

kotlin

1import com.fasterxml.jackson.databind.ObjectMapper 2import java.io.StringReader 3 4object xxJsonA { 5 @JvmStatic 6 fun main(args: Array<String>) { 7 val json = """ { "hoge" : [[1,1],[2,2],[3,3]] } """ 8 val obj = ObjectMapper().readValue(StringReader(json), Map::class.java) 9 println(obj) 10 // {hoge=[[1, 1], [2, 2], [3, 3]]} 11 12 val arrayhoge = ObjectMapper().readValue(StringReader(json), ArrayHoge::class.java) 13 println(arrayhoge) 14 // ArrayHoge(hoge=[[I@27c20538, [I@72d818d1, [I@6e06451e]) 15 16 val listhoge = ObjectMapper().readValue(StringReader(json), ListHoge::class.java) 17 println(listhoge) 18 // ListHoge(hoge=[[1, 1], [2, 2], [3, 3]]) 19 } 20 21 data class ArrayHoge(var hoge: Array<IntArray> = arrayOf()) 22 data class ListHoge(var hoge: List<List<Int>> = listOf()) 23}

投稿2020/01/17 14:21

shiketa

総合スコア3971

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問