質問編集履歴

1

kotlinx.serializationを追加することで1歩進むことができましたが、配列で躓いております

2022/08/17 01:55

投稿

MobileAppDevLov
MobileAppDevLov

スコア12

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
+ というエラーで先に進めなくなっしまいました