https://github.com/jun-labs/json-handling
π Json λ°μ΄ν° νΈλ€λ§ μμ .
https://github.com/jun-labs/json-handling
data gson jackson json json-object
Last synced: about 1 month ago
JSON representation
π Json λ°μ΄ν° νΈλ€λ§ μμ .
- Host: GitHub
- URL: https://github.com/jun-labs/json-handling
- Owner: jun-labs
- Created: 2024-04-01T11:05:25.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-01T18:27:18.000Z (about 2 years ago)
- Last Synced: 2025-03-14T06:15:09.126Z (over 1 year ago)
- Topics: data, gson, jackson, json, json-object
- Language: Kotlin
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Json Handling
Gsonκ³Ό Jackson λΌμ΄λΈλ¬λ¦¬λ₯Ό ν΅ν Json κ°μ²΄ νΈλ€λ§.
## π» νλ‘κ·Έλ¨ μ€ν
app λͺ¨λμ ExampleTest.ktsμ, resource ν΄λ λ΄ weather.json νμΌκ²½λ‘ μ§μ .
````kotlin
@DisplayName("[UnitTest] λ μ¨ μμ λ¨μ ν
μ€νΈ")
class ExampleUnitTest {
@Test
@DisplayName("Json νμΌμ λ°μ΄ν°λ₯Ό μΆκ°ν μ μλ€.")
fun trafficAdditionalTest() {
val filePath = "PATH"
val fileContent = File(filePath).readText()
val result = add(fileContent)
assertThat(result).contains("traffic")
}
}
````
λΉλ ν μ€ν.
```shell
# λΉλ
./gradlew :app:build
```
## π Json λ°μ΄ν° νΈλ€λ§
`Gson` λλ `Jackson` λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν΄ Json λ°μ΄ν°λ₯Ό λ°°μ΄λ‘ λ§λ ν, λ°μ΄ν°λ₯Ό μΆκ°/μμ ν μ μλ€.
```kotlin
@Test
@DisplayName("Json κ°μ²΄μ λ°°μ΄ λ°μ΄ν°λ₯Ό μΆκ°ν μ μλ€.")
fun jsonArrayAdditionalTest() {
val jsonStr = "{\"name\":\"Jun\", \"age\":7}"
val jsonObj = createObj(jsonStr)
val jsonArray = JsonArray().apply {
add("item1")
add("item2")
}
jsonObj.add("items", jsonArray)
val result = gson.toJson(jsonObj)
val expected = "{\"name\":\"Jun\",\"age\":7,\"items\":[\"item1\",\"item2\"]}"
assertEquals(expected, result)
}
```
```kotlin
@Test
@DisplayName("Json κ°μ²΄μμ λ°μ΄ν°λ₯Ό μμ ν μ μλ€.")
fun jsonDataRemoveTest() {
val jsonStr = "{\"name\":\"Jun\", \"age\":7}"
val jsonObj = createObj(jsonStr)
val jsonArray = JsonArray().apply {
add("item1")
add("item2")
}
jsonObj.add("items", jsonArray)
jsonObj.remove("items")
val result = Gson().toJson(jsonObj)
val expected = "{\"name\":\"Jun\",\"age\":7}"
assertEquals(expected, result)
}
```
μ΄λ₯Ό ν΅ν΄ λΉλ μ, λΆκ° μμ
μ΄ κ°λ₯νλ©°, buildSrcμ ν΅ν΄ μ½λλ₯Ό μ¬νμ©ν μ μλ€.
```shell
βββ buildSrc
β βββ build
β β βββ classes
β β β βββ java
β β β βββ main
β β β βββ ScriptUtils.class
β β βββ generated
β β β βββ sources
β β β βββ annotationProcessor
β β β β βββ java
β β β βββ headers
β β β βββ java
β β βββ libs
β β β βββ buildSrc.jar
β β βββ tmp
β β βββ compileJava
β β β βββ previous-compilation-data.bin
β β βββ jar
β β βββ MANIFEST.MF
β βββ build.gradle.kts
β βββ src
β βββ main
β βββ java
β βββ ScriptUtils.java # λΉλ μ€ν¬λ¦½νΈμμ νμ© κ°λ₯
......
```