Skip to content

Commit 2a59404

Browse files
committed
docs: README.md 내용 추가
1 parent 60bc1d1 commit 2a59404

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed

README.md

+126
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,128 @@
11
# Json Handling
22

3+
Gson과 Jackson 라이브러리를 통한 Json 객체 핸들링.
4+
5+
<br/>
6+
<br/>
7+
<br/>
8+
9+
## 💻 프로그램 실행
10+
11+
app 모듈의 ExampleTest.kts에 파일경로 지정.
12+
13+
````kotlin
14+
class ExampleUnitTest {
15+
16+
@Test
17+
fun trafficAdditionalTest() {
18+
val filePath = "$PATH"
19+
20+
val fileContent = File(filePath).readText()
21+
val result = add(fileContent)
22+
23+
assertThat(result).contains("traffic")
24+
}
25+
}
26+
````
27+
28+
<br>
29+
<br>
30+
<br>
31+
<br>
32+
33+
빌드 후 실행.
34+
35+
```shell
36+
# 빌드
37+
./gradlew :app:build
38+
```
39+
40+
<br>
41+
<br>
42+
<br>
43+
<br>
44+
<br>
45+
<br>
46+
47+
## 📝 Json 데이터 핸들링
48+
49+
`Gson` 또는 `Jackson` 라이브러리를 사용해 Json 데이터를 배열로 만든 후, 데이터를 추가/삭제할 수 있다.
50+
51+
```kotlin
52+
@Test
53+
@DisplayName("Json 객체에서 데이터를 삭제할 수 있다.")
54+
fun jsonDataRemoveTest() {
55+
val jsonStr = "{\"name\":\"Jun\", \"age\":7}"
56+
val jsonObj = createObj(jsonStr)
57+
58+
val jsonArray = JsonArray().apply {
59+
add("item1")
60+
add("item2")
61+
}
62+
jsonObj.add("items", jsonArray)
63+
jsonObj.remove("items")
64+
65+
val result = Gson().toJson(jsonObj)
66+
val expected = "{\"name\":\"Jun\",\"age\":7}"
67+
68+
assertEquals(expected, result)
69+
}
70+
```
71+
72+
```kotlin
73+
@Test
74+
@DisplayName("Json 객체에서 데이터를 삭제할 수 있다.")
75+
fun jsonDataRemoveTest() {
76+
val jsonStr = "{\"name\":\"Jun\", \"age\":7}"
77+
val jsonObj = createObj(jsonStr)
78+
79+
val jsonArray = JsonArray().apply {
80+
add("item1")
81+
add("item2")
82+
}
83+
jsonObj.add("items", jsonArray)
84+
jsonObj.remove("items")
85+
86+
val result = Gson().toJson(jsonObj)
87+
val expected = "{\"name\":\"Jun\",\"age\":7}"
88+
89+
assertEquals(expected, result)
90+
}
91+
```
92+
93+
<br>
94+
<br>
95+
<br>
96+
<br>
97+
98+
이를 통해 빌드 시, 부가 작업이 가능하며, buildSrc을 통해 코드를 재활용할 수 있다.
99+
100+
```shell
101+
├── buildSrc
102+
│ ├── build
103+
│ │ ├── classes
104+
│ │ │ └── java
105+
│ │ │ └── main
106+
│ │ │ └── ScriptUtils.class
107+
│ │ ├── generated
108+
│ │ │ └── sources
109+
│ │ │ ├── annotationProcessor
110+
│ │ │ │ └── java
111+
│ │ │ └── headers
112+
│ │ │ └── java
113+
│ │ ├── libs
114+
│ │ │ └── buildSrc.jar
115+
│ │ └── tmp
116+
│ │ ├── compileJava
117+
│ │ │ └── previous-compilation-data.bin
118+
│ │ └── jar
119+
│ │ └── MANIFEST.MF
120+
│ ├── build.gradle.kts
121+
│ └── src
122+
│ └── main
123+
│ └── java
124+
│ └── ScriptUtils.java
125+
126+
......
127+
128+
```

0 commit comments

Comments
 (0)