* VBNET Json 파일 읽고 쓰기 예제...
(System.Net.Json.dll) 파일 참조
위 첨부된 파일을 다운 받아 dll 참조 추가를 해줍니다.
오른쪽에 솔루션 탐색기가 나타나지 않는다면, 상단 메뉴 (보기) -> (솔루션탐색기) 를 선택 해 줍니다.
My Project 를 마우스 왼쪽 버튼 더블 클릭을 하면 위 그림 처럼 프로젝트 속성으로 들어 갈 수 있습니다.
왼쪽 참조 메뉴를 클릭 -> 추가 버튼을 클릭 합니다.
찾아보기 탭에서 System.Net.Json.dll 파일 위치를 찾아가셔서 클릭 후 추가 해 줍니다.
참고로 저 같은 경우 항상 참조 dll 은 프로젝트 생성 폴더에 같이 놔두기에 위와 같이 바로 찾을 수 있음.
위 그림 처럼 나오게 되면 System.Net.Json 파일이 참조가 완료 되었습니다.
* 예제 메인화면
전체 소스코드
Form1.vb
Imports System.Net.Json
Public Class Form1
'현재 EXE 파일이 생성 되는 폴더 위치
Dim strLocalPath As String = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\"))
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
'Json Write
'파일이 존재한다면 삭제...
If System.IO.File.Exists(strLocalPath + "\\Test.json") Then
System.IO.File.Delete(strLocalPath + "\\Test.json")
End If
'Json Write...
Dim root As JsonObjectCollection = New JsonObjectCollection()
'Json Title 정하기 Server_Info
Dim jacServer As JsonArrayCollection = New JsonArrayCollection("Server_Info")
'Json Title 에 속한 노드(속성) 만들기
Dim joc As JsonObjectCollection = New JsonObjectCollection()
joc.Add(New JsonStringValue("IP", "192.168.0.11"))
joc.Add(New JsonStringValue("PW", "1231231231"))
joc.Add(New JsonStringValue("DataBase", "TEST"))
jacServer.Add(joc)
Dim jacTest As JsonArrayCollection = New JsonArrayCollection("Test_Info")
Dim joc2 As JsonObjectCollection = New JsonObjectCollection()
joc2.Add(New JsonStringValue("X", "100"))
joc2.Add(New JsonStringValue("Y", "200"))
joc2.Add(New JsonStringValue("Z", "300"))
jacTest.Add(joc2)
'최상위 노드에 속성 노드 추가
root.Add(jacServer)
root.Add(jacTest)
'파일에 쓰기...
Dim strRoot As String = root.ToString()
textBox1.Text = strRoot
System.IO.File.WriteAllText("Test.json", strRoot)
End Sub
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
'Json Read
'파일이 존재 하지 않으면...
If Not System.IO.File.Exists(strLocalPath + "\\Test.json") Then
Return
End If
'Json Read...
Dim strReturnValue As String = System.IO.File.ReadAllText("Test.json")
If strReturnValue = "" Then
MessageBox.Show("불러오기 실패...")
Return
End If
'Json 으로 바꾸기...
Dim jtr As JsonTextParser = New JsonTextParser()
Dim jo As JsonObject = jtr.Parse(strReturnValue)
Dim jac As JsonObjectCollection = CType(jo, JsonObjectCollection)
Dim arr1 As JsonArrayCollection = CType(jac("Server_Info"), JsonArrayCollection)
Dim arr2 As JsonArrayCollection = CType(jac("Test_Info"), JsonArrayCollection)
textBox2.Text = ""
'첫번째 속성 읽기...
For Each joc As JsonObjectCollection In arr1
textBox2.Text += "Server_Info" + System.Environment.NewLine
textBox2.Text += "IP: " + joc("IP").GetValue().ToString() + System.Environment.NewLine
textBox2.Text += "PW: " + joc("PW").GetValue().ToString() + System.Environment.NewLine
textBox2.Text += "DataBase: " + joc("DataBase").GetValue().ToString() + System.Environment.NewLine
Next
textBox2.Text += System.Environment.NewLine
'두번째 속성 읽기...
For Each joc2 As JsonObjectCollection In arr2
textBox2.Text += "Test_Info" + System.Environment.NewLine
textBox2.Text += "X: " + joc2("X").GetValue().ToString() + System.Environment.NewLine
textBox2.Text += "Y: " + joc2("Y").GetValue().ToString() + System.Environment.NewLine
textBox2.Text += "Z: " + joc2("Z").GetValue().ToString() + System.Environment.NewLine
Next
End Sub
End Class
* 예제 결과
https://kdsoft-zeros.tistory.com/97
'VB.NET Programming' 카테고리의 다른 글
[VBNET] Params 키워드를 이용한 가변 전달 인자 예제 (0) | 2019.12.16 |
---|---|
[VBNET] Json Read 를 이용한 로또(Lotto) 당첨 번호 읽기 예제 (0) | 2019.12.10 |
[VBNET] 반올림 Math.Round() 예제 (0) | 2019.11.28 |
[VBNET] Redim Preserve 및 배열 크기(Size) 조절 (0) | 2019.11.26 |
[VBNET] 폼 (Form) 사이즈 고정(Size fix) (0) | 2019.11.23 |