그놈의 안드로이드
안드로이드 GSON 라이브러리 본문
Github:Gson -> https://github.com/google/gson
작성일 기준 최신버전 : 2.8.6
Gradle :
dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
}
Maven
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
sample.json
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
sampleDao.kt
package com.panic.dualtranslation.dao
class sampleDao {
private val ID: String? = null
private val SortAs: String? = null
private val GlossTerm: String? = null
private val Acronym: String? = null
private val Abbrev: String? = null
private val para: String? = null
private val GlossSeeAlso: ArrayList<String>? = null
private val GlossSee: String? = null
}
기본 사용법
val sampleDao = gson.fromJson<sampleDao>(json, sampleDao::class.java)
(json 변수는 json내용이 들어가 있는 String 형)
JSONArray 사용법
sampleArray.json
{
"sample": [
{
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML"
],
"GlossSee": "markup"
},
{
"ID": "SGML2",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML"
],
"GlossSee": "markup"
},
{
"ID": "SGML3",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML"
],
"GlossSee": "markup"
}
]
}
val sampleList = ArrayList<sampleDao>()
val jsonArray = JSONArray(json)
for (i in 0 until jsonArray.length()) {
sampleList.add(gson.fromJson<sampleDao>(jsonArray[i].toString(), sampleDao::class.java))
}
'안드로이드 > 안드로이드' 카테고리의 다른 글
SharedPreferences 외부 파일로 저장 / 불러오기 (0) | 2020.03.09 |
---|