패키지 관리자 콘솔에서 Newtonsoft.json을 설치해줍니다.
install-package Newtonsoft.json(참고:visual studio 에서 package manager console ( install-package ) 사용하는 방법)
필요한 패키지를 임포트합니다.
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
json 문자열을 준비합니다. (vb 에서는 문자열 안에 큰따옴표 넣기위해 큰따옴표를 두번입력합니다.) json 문자열을 파싱하여 개별 항목값을 읽어봅니다.
Dim jsonString As String = "{""id"":1,""name"":""홍길동""}"직렬화 기능을 이용해 봅니다.
Dim jsonObject As JObject = JObject.Parse(jsonString) 'Object 만 파싱 한다.
Console.WriteLine("id:" & jsonObject.SelectToken("id").ToString)
Console.WriteLine("name:" & jsonObject.SelectToken("name").ToString)
json 구조에 대응되는 클래스를 준비합니다.
Public Class Name
Public Property id
Public Property name
End Class
변환합니다.
Dim jsonString As String = "{""id"":1,""name"":""홍길동""}"
Dim onename As Name = JsonConvert.DeserializeObject(Of Name)(jsonString)
Console.WriteLine("id:" & onename.id)
Console.WriteLine("name:" & onename.name)
json 배열로 되어있는 데이터를 변환합니다.
Dim jsonString As String = "[{""id"":1,""name"":""홍길동""},{""id"":2,""name"":""임꺽정""}]"객체를 문자열로 변환합니다.
Dim nameList As List(Of Name) = JsonConvert.DeserializeObject(Of List(Of Name))(jsonString)
For Each onename As Name In nameList
Console.WriteLine("id:" & onename.id)
Console.WriteLine("name:" & onename.name)
Next
Console.WriteLine(JsonConvert.SerializeObject(nameList(0)))
댓글 없음:
댓글 쓰기