読者です 読者をやめる 読者になる 読者になる

clock-up-blog

go-mi-tech

Visual Basic .NET で JavaScriptSerializer を使う

Visual Basic Windows .NET Visual Studio

導入メモです

人からもらったサンプルを動かすときに、ちょっとハマったのでメモ。

Microsoft Visual Basic 2010 にて。

ハマりどころ

普通にフォームアプリケーション作ると、
「対象のフレームワーク」が「.NET Framework 4 Client Profile」ってなっていて、
これを「.NET Framework 4」に変更しないと
参照の追加で「System.Web.Extensions」を選択できないのです。

手順

まずは「対象のフレームワーク」を変更する

プロジェクトのプロパティを開き、
f:id:kobake:20140128091445p:plain:w300
f:id:kobake:20140128092114p:plain:w500


コンパイルタブを開き、「詳細コンパイル オプション」を押す。
f:id:kobake:20140128092334p:plain:w500


コンパイラの詳細設定にて、
「対象のフレームワーク」が「.NET Framework 4 Client Profile」ってなっていると思うので、
これを「.NET Framework 4」に変更する。
f:id:kobake:20140128093200p:plain:w500

参照の追加

プロジェクトの右クリックメニューから「参照の追加」を押す。
f:id:kobake:20140128093035p:plain:w300


参照の追加にて、「.NET」タブで「System.Web.Extensions」を選択する。
f:id:kobake:20140128093041p:plain:w400

インポートの追加

Imports System.Web.Script.Serialization … これを追加

実行テスト

Option Explicit On

Imports System.Web.Script.Serialization

Public Class Form1
    Private Sub Button1_Click(sender As System.Object, _
            e As System.EventArgs) Handles btnParameter.Click
        Dim jsSerializer As JavaScriptSerializer = New JavaScriptSerializer()
        Dim hash As Hashtable = New Hashtable()
        Dim json As String
        hash.Add("abc", 10)
        hash.Add("def", "AAA")
        json = jsSerializer.Serialize(hash)
        MessageBox.Show(json)
    End Sub
End Class

結果::{"abc":10,"def":"AAA"}
f:id:kobake:20140128094127p:plain

\(^o^)/できた!

参考

※.NETの知識は言語問わず使いまわせるので、今回の環境はVBだけど、C#の情報も参考にしたりしています。

});