vb .net json 처리

.net 2016. 8. 8. 12:20
{
  • "rtncode":"200",
  • "msg":"성공",
  • "data":[
    1. {
      • "no":"56525",
      • "section":"1",
      • "category":"88",
      • "subject":"복지부, "지자체 사회보장제도 동의 비율 증가""
      }
      ,
    2. {
      • "no":"56524",
      • "section":"1",
      • "category":"88",
      • "subject":"양천구,"소리 없이 찾아오는 ‘뼈 도둑’, 조기검진 필수""
      }
      ,
    3. {
      • "no":"56523",
      • "section":"1",
      • "category":"88",
      • "subject":"수입 미국산 밀과 밀가루에서 미승인 유전자변형 밀 불검출"
      }
      ,
    4. {
      • "no":"56520",
      • "section":"1",
      • "category":"88",
      • "subject":"서울특별시동부병원, ‘아트앤프렌즈展’ 전시회 개최"
      }
    ]
}
이런 json 처리 과정

install-package Newtonsoft.json -> 비주얼스튜디오->도구->패키지 관리자->패키지 콘솔에서 설치

imports 추가

Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq

처리 내용 아래 과정

Else
   Try
            Dim wresp As WebResponse
            Dim wreq As WebRequest = HttpWebRequest.Create("http://www.test.com/api/new_api.com")
            Dim str As String = ""
            wresp = wreq.GetResponse()

            Using sr As New StreamReader(wresp.GetResponseStream())
                str = sr.ReadToEnd()
                sr.Close()
            End Using


            Dim jsonstring As String = str
            Dim json_results As New System.Net.Json.JsonTextParser
            Dim j_result As System.Net.Json.JsonObjectCollection
            Dim ser As JObject = JObject.Parse(jsonstring)


            j_result = json_results.Parse(jsonstring)
            Dim jj_string As String = j_result("data").ToString
            Dim data As List(Of JToken) = ser.Children().ToList
            Dim output As String = ""

            For Each item As JProperty In data
                item.CreateReader()
                Select Case item.Name
                    Case "data"

                        For Each comment As JObject In item.Values
                            Dim news_no As String = comment("no")
                            Dim news_subject As String = comment("subject")
                            Dim news_category As String = comment("category")
                            Dim news_section As String = comment("section")

                            ListBox1.Items.Add("· " & news_subject)
                            output = "/news/view.html?section=" & news_section & "&category=" & news_category & "&no=" & news_no
                            news_list_link.Add(output)

                        Next

                End Select
            Next

        Catch ex As Exception
            MsgBox(ex.Message, "가져오기 실패")
        End Try
End If


'.net' 카테고리의 다른 글

vb net 파일 쓰기 삭제 생성  (0) 2016.06.15
vb net 웹 브라우져 연결  (0) 2016.05.18
vb .net 웹페이지 xml 데이터 처리  (0) 2016.05.11
vb 웹 페이지 소스 가져오기  (0) 2016.05.10
vb net 스프레드 크기 조정  (0) 2016.04.18
Posted by 몽키 D.루피
,

1. 쓰기


Imports System

Imports System.IO

Imports System.Text


Sub test_create()

        Dim path As String = "c:\NewFolder\MyTest.txt"


        ' Create or overwrite the file.

        Dim fs As FileStream = File.Create(path)


        ' Add text to the file.

         Dim writer As StreamWriter = New StreamWriter(path)

        writer.WriteLine("File created using StreamWriter class.")

        writer.Close()

    End Sub




2.삭제


폴더전체 삭제


     For Each foundFile As String In My.Computer.FileSystem.GetFiles(

        "C:\NewFolder",

        FileIO.SearchOption.SearchAllSubDirectories, "*.*")


            My.Computer.FileSystem.DeleteFile(foundFile,

            FileIO.UIOption.OnlyErrorDialogs,

            FileIO.RecycleOption.DeletePermanently)

        Next


개별 삭제


My.Computer.FileSystem.DeleteFile("C:\NewFolder\MyTest.txt")


3. 생성


Imports System.IO


Private Function aaaaaa()

        '파일 내용에서 내용 넣기

        Dim writer As StreamWriter = New StreamWriter("c:\KBTest.txt")

        writer.WriteLine("File created using StreamWriter class.")

        writer.Close()


        '파일 내용 읽은 후 리스트 박스에 넣기

        Dim reader As StreamReader = New StreamReader("c:\KBTest.txt")

        Try

            Me.ListBox1.Items.Clear()

            Do

                Me.ListBox1.Items.Add(reader.ReadLine)

            Loop Until reader.Peek = -1


        Catch

            Me.ListBox1.Items.Add("File is empty")

        Finally

            reader.Close()

        End Try

    End Function

'.net' 카테고리의 다른 글

vb .net json 처리  (0) 2016.08.08
vb net 웹 브라우져 연결  (0) 2016.05.18
vb .net 웹페이지 xml 데이터 처리  (0) 2016.05.11
vb 웹 페이지 소스 가져오기  (0) 2016.05.10
vb net 스프레드 크기 조정  (0) 2016.04.18
Posted by 몽키 D.루피
,


해당 소스는 www.juso.co.kr api를 가져온것으로 하였다.

중요한점은 웹브라우저 안에 url 속성값을 줘야한다.(api 주소)


Imports System.Xml

Imports System.Net

Imports System.IO

Imports System.Text.RegularExpressions

Imports System.Text

Public Class Form1


    Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

// 웹브라우져 타이틀이 결과 리턴값을 뿌려줄때만 해당함

        If sender.DocumentTitle = "address_ok" Then

            Dim jsonstring As String = Replace(sender.DocumentText, "<title>address_ok</title>", "")

            Dim json_results As New System.Net.Json.JsonTextParser

            Dim j_result As System.Net.Json.JsonObjectCollection


            j_result = json_results.Parse(jsonstring)


            TextBox3.Text = " 신주소 : " & j_result(1).GetValue & " " & j_result(2).GetValue


            WebBrowser1.Dispose()


        End If

    End Sub


End Class

'.net' 카테고리의 다른 글

vb .net json 처리  (0) 2016.08.08
vb net 파일 쓰기 삭제 생성  (0) 2016.06.15
vb .net 웹페이지 xml 데이터 처리  (0) 2016.05.11
vb 웹 페이지 소스 가져오기  (0) 2016.05.10
vb net 스프레드 크기 조정  (0) 2016.04.18
Posted by 몽키 D.루피
,

웹페이지 xml 데이터 처리


Imports System.Xml

Imports System.Net

Imports System.IO

Imports System.Text.RegularExpressions

Imports System.Text

Public Class Form1



    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


        Dim url As String

        url = "http://www.juso.go.kr/addrlink/addrLinkApi.do?keyword=" & TextBox1.Text & "&confmKey=인증키"


        Try

            Dim wresp As WebResponse

//웹 url 페이지 가져옴

            Dim wreq As WebRequest = HttpWebRequest.Create(url)

            Dim str As String = ""

            Dim output As StringBuilder = New StringBuilder()


            Dim test

            wresp = wreq.GetResponse()


//가져와서 스트링 반환

            Using sr As New StreamReader(wresp.GetResponseStream())

                str = sr.ReadToEnd()

                sr.Close()

            End Using


            test = fStrCnt(str, "<roadAddr>")


//xml 안에 데이터 처리

            Using reader As XmlReader = XmlReader.Create(New StringReader(str))

                For i = 1 To test

//태그가 roadaddr인거만 가져오기

                    reader.ReadToFollowing("roadAddr")

//output으로 넣음

                    output.AppendLine(reader.ReadElementContentAsString() & ",")

                Next i

            End Using


//output으로 넣음

            TextBox3.Text = output.ToString()



        Catch ex As Exception

            MsgBox(ex.Message, "가져오기 실패")

        End Try

    End Sub


//해당 태그 갯수 파악

    Private Function fStrCnt(SrcStr As String, DestChar As String)

        Dim intCnt

        Dim chrTmp


        intCnt = 0

        For i = 1 To Len(SrcStr)

            chrTmp = Mid(SrcStr, i, 10)

            If chrTmp = DestChar Then intCnt = intCnt + 1

        Next i


        fStrCnt = intCnt


    End Function

End Class

'.net' 카테고리의 다른 글

vb net 파일 쓰기 삭제 생성  (0) 2016.06.15
vb net 웹 브라우져 연결  (0) 2016.05.18
vb 웹 페이지 소스 가져오기  (0) 2016.05.10
vb net 스프레드 크기 조정  (0) 2016.04.18
vb net 스프레드 시트 keyup  (0) 2016.04.07
Posted by 몽키 D.루피
,
vb웹페이지 내용 그대로 읽어오기 소스

Imports System.Net
Imports System.IO
Imports System.Text.RegularExpressions
 
Public Class Form1
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text.Length < 10 Then
            MsgBox("가져올 페이지의 URL을 입력하세요!")
            Return
        End If
 
        Try
            Dim wresp As WebResponse
            Dim wreq As WebRequest = HttpWebRequest.Create(TextBox1.Text)
            Dim str As String = ""
            wresp = wreq.GetResponse()
 
            Using sr As New StreamReader(wresp.GetResponseStream())
                str = sr.ReadToEnd()
                sr.Close()
            End Using
 
            Dim sta As Integer
 
            sta = InStr(str, "<body")
            If sta = 0 Then sta = InStr(str, "<BODY")
            If sta = 0 Then sta = 1 'not found <body or <BODY
 
            str = Regex.Replace(Mid(str, sta), "<.*?>", "")
            TextBox2.Text = str
        Catch ex As Exception
            MsgBox(ex.Message, "가져오기 실패")
        End Try
    End Sub
End Class

http://yaraba.tistory.com/412 페이지에서 참조


Posted by 몽키 D.루피
,

FpStest.Sheets(0).SetRowHeight(4, 60)


크기조절

Posted by 몽키 D.루피
,

//실시간 검색

Private Sub FpS123_EditModeOn(sender As Object, e As EventArgs) Handles FpS123.EditModeOn


        Dim KeyPressHandler As KeyEventHandler = AddressOf FpS123_KeyUp

        AddHandler FpS123.EditingControl.KeyUp, KeyPressHandler



        With FpS123.ActiveSheet

            FpS123.Sheets(0).SetText(0, 1, .GetText(.ActiveRowIndex, .ActiveColumnIndex))

            'MessageBox.Show(.GetText(.ActiveRowIndex, .ActiveColumnIndex))

            ' Call test(.GetText(.ActiveRowIndex, .ActiveColumnIndex))

        End With


    End Sub


    Private Sub FpS123_EditModeOff(sender As Object, e As EventArgs) Handles FpS123.EditModeOff


        Dim edit_text


        Dim KeyPressHandler As KeyEventHandler = AddressOf FpS123_KeyUp

        RemoveHandler FpS123.EditingControl.KeyUp, KeyPressHandler

        edit_text = Split(sender.AccessibleDescription, ",")




        With FpS123.ActiveSheet


            FpS123.Sheets(0).SetText(0, 1, .GetText(.ActiveRowIndex, .ActiveColumnIndex))

            'MessageBox.Show(.GetText(.ActiveRowIndex, .ActiveColumnIndex))

            ' Call test(.GetText(.ActiveRowIndex, .ActiveColumnIndex))

        End With


    End Sub




    Private Sub FpS123_KeyUp(sender As Object, e As KeyEventArgs) Handles FpS123.KeyUp, FpS123.KeyDown


        If sender.ToString = "FarPoint.Win.Spread.CellType.GeneralEditor" Then


            'FarPoint.Win.Spread.CellType.GeneralEditor

            If e.KeyCode = Keys.Escape Then Exit Sub

            If e.KeyCode = Keys.Enter Then Exit Sub


            If e.KeyCode = Keys.Delete Then

                With FpS123.ActiveSheet

                    Select Case MsgBox("선택된 부분을 삭제하시겠습니까?", MsgBoxStyle.YesNo, "caption")

                        Case MsgBoxResult.Yes

                            ' MessageBox.Show("Yes button")

                            FpS123.Sheets(0).Rows.Remove(.ActiveRowIndex, 1)

                            sang_sprR = sang_sprR - 1

                        Case MsgBoxResult.No

                            'MessageBox.Show("NO button")

                    End Select

                End With

                Exit Sub

            End If


            Dim test_text As String

            test_text = sender.FormatText


            FpS123.Sheets(0).SetText(0, 2, test_text)


        End If


    End Sub

'.net' 카테고리의 다른 글

vb 웹 페이지 소스 가져오기  (0) 2016.05.10
vb net 스프레드 크기 조정  (0) 2016.04.18
vb .net 스프레드 시트에서 해당위치 텍스트 가져오기  (0) 2016.03.31
vb .net confirm 박스  (0) 2016.03.31
mysql dll 참조추가시  (0) 2016.03.31
Posted by 몽키 D.루피
,

Private Sub FpS스프레드이름_EditModeOff(sender As Object, e As EventArgs) Handles FpS스프레드이름.EditModeOff
        With FpS스프레드이름.ActiveSheet
            MessageBox.Show(.GetText(.ActiveRowIndex, .ActiveColumnIndex))
        End With
    End Sub

 

스프레드시트안에 선택된 셀안에 텍스트를 자연스럽게 가져옴 ㅋㅋ

'.net' 카테고리의 다른 글

vb net 스프레드 크기 조정  (0) 2016.04.18
vb net 스프레드 시트 keyup  (0) 2016.04.07
vb .net confirm 박스  (0) 2016.03.31
mysql dll 참조추가시  (0) 2016.03.31
vb .net 스프레드 시트 한줄 삭제 방법  (0) 2016.03.31
Posted by 몽키 D.루피
,

vb .net confirm 박스

.net 2016. 3. 31. 15:13

Case MsgBoxResult.Yes
                        ' MessageBox.Show("Yes button")
                        FpS진료실상병.Sheets(0).Rows.Remove(set_cell, 1)
                        sang_sprR = sang_sprR - 1
                    Case MsgBoxResult.Cancel
                        'MessageBox.Show("Cancel button")
                    Case MsgBoxResult.No
                        'MessageBox.Show("NO button")

Posted by 몽키 D.루피
,

mysql dll 참조추가시

.net 2016. 3. 31. 15:08

mysql 버전 확실히 알아야 한다.

dll버전이 설치된 mysql 버전보다 높으면 로그인 오르

Posted by 몽키 D.루피
,