pom.xml
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
jp.s6131.sample.controller.HomeController.java
@RequestMapping(value = "/sampleList", method = RequestMethod.GET)
@ResponseBody
public List<Sample> sampleList(@RequestParam("cd") String cd) {
return sampleService.selectByCode(cd);
}
ブラウザから以下URLを指定し、json を返却することを確認。
http://localhost/sample/sampleList?cd=cd1
[{"id":1,"code":"cd1","name":"名前1"},{"id":2,"code":"cd1","name":"名前2"},{"id":3,"code":"cd1","name":"名前3"}]
Visual Studio 2013 for Desktop を起動
「ファイル」「新しいプロジェクト」「Windows フォーム アプリケーション」
JSON.net の導入
「ツール」「ライブラリパッケージマネージャー」「パッケージマネージャーコンソール」
Install-Package Newtonsoft.Json
フォーム(Form1)にテキストボックス(TextBox1)、ボタン(Button1)、データグリッド(DataGridView1)を配置する。
デザイン画面で DataGridView1 を右クリック「列の追加」で id、cd、cdname (name とするとエラーとなる)を追加する。
Form1.vb
Imports System.Net
Imports System.IO
Imports System.Linq
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DataGridView1.Rows.Clear()
search_proc(TextBox1.Text)
End Sub
Private Sub search_proc(cd As String)
Dim url As String = "http://localhost/sample/sampleList?cd=" & cd
Dim req As WebRequest = WebRequest.Create(url)
Dim res As WebResponse = req.GetResponse()
Dim reader As StreamReader = New StreamReader(res.GetResponseStream())
Dim jsonString As String = reader.ReadToEnd()
Dim jsonList As List(Of JToken) = JArray.Parse(jsonString).Children.ToList
For Each itemClass As JObject In jsonList
itemClass.CreateReader()
DataGridView1.Rows.Add(itemClass("id"), itemClass("code"), itemClass("name"))
Next
res.Close()
End Sub
End Class
実行すると Form1 を表示、テキストボックスに cd1 を入力してボタン押下すると、データグリッドに
データを表示することを確認。

人気ブログランキングへ