質問編集履歴
1
kotlinx.serializationを追加することで1歩進むことができましたが、配列で躓いております
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,5 +18,23 @@
|
|
18
18
|
|
19
19
|
こうしたデータクラスが複数入った配列`[TagModel(), TagModel()]`という形で取得したいと考えています。そのためにはまずは文字列を分解する手段を知るべきでしょうか、Kotlinについて初心者なため、はじめの一歩で躓いてしまっております。
|
20
20
|
|
21
|
+
追記:
|
22
|
+
|
23
|
+
```kotlin
|
21
|
-
|
24
|
+
@Serializable
|
25
|
+
class TagModel(val id: Int, val body: String)
|
26
|
+
|
27
|
+
val jsonString = """{"id": 1, "body": "あさごはん"}"""
|
28
|
+
val tag = Json.decodeFromString<TagModel>(jsonString)
|
29
|
+
```
|
30
|
+
|
31
|
+
とすることで、Jsonをオブジェクトにすることができました。しかしながら配列を含んだJsonを変換しようとすると、
|
32
|
+
|
33
|
+
```kotlin
|
34
|
+
val jsonString = """[{"id": 1, "body": "あさごはん"}, {"id": 2, "body": "よるごはん"}]"""
|
35
|
+
val tag = Json.decodeFromString<TagModel>(jsonString)
|
36
|
+
```
|
37
|
+
|
38
|
+
> Caused by: kotlinx.serialization.json.internal.JsonDecodingException: Expected start of the object '{', but had 'EOF' insteadJSON input: [{"id": 1, "body": "あさごはん"}, {"id": 2, "body": "よるごはん"}]
|
39
|
+
|
22
|
-
|
40
|
+
というエラーで先に進めなくなってしまいました。
|