2011-07-14 59 views
2

這是C#下面的C#示例轉換到VB.NET

using System.Web.Script.Serialization; 

var jss = new JavaScriptSerializer(); 
var dict = jss.Deserialize<Dictionary<string,string>>(jsonText); 

Console.WriteLine(dict["some_number"]); //outputs 108.541 

對於我不斷收到錯誤,當我嘗試使用在線轉換器將其轉換爲vb.net樣本。有誰知道如何在vb.net中重寫這個?

我從http://www.developerfusion.com/tools/convert/csharp-to-vb/得到的錯誤是:

-- line 3 col 1: EOF expected 
+0

什麼你是否從轉換器獲得輸出,以及你得到的錯誤是什麼? –

+0

我得到' - 行3列1:期望的EOF'來自:http://www.developerfusion.com/tools/convert/csharp-to-vb/ – nami

+0

這不是一個有效的C#程序,因此爲什麼轉換器嘔吐 –

回答

8

您必須輸入有效的C#。

我改變了你的輸入代碼如下:

using System.Web.Script.Serialization; 

public class Test { 

    public void DoSomething() { 

     var jss = new JavaScriptSerializer(); 
     var dict = jss.Deserialize<Dictionary<string,string>>(jsonText); 

     Console.WriteLine(dict["some_number"]); //outputs 108.541 

    } 
} 

然後通過它通過developer fusion得到:

進口System.Web.Script.Serialization

Public Class Test 

    Public Sub DoSomething() 

     Dim jss = New JavaScriptSerializer() 
     Dim dict = jss.Deserialize(Of Dictionary(Of String, String))(jsonText) 

     Console.WriteLine(dict("some_number")) 
     'outputs 108.541 
    End Sub 
End Class 
1

您將需要某種形式的類如目前正在一類之外創建的變量在文件中。拆分using分開,因爲這應該是在文件上我認爲應該如下工作:

Imports System.Web.Script.Serialization 

剩下的就是:

Dim jss = New JavaScriptSerializer() 
Dim dict = jss.Deserialize(Of Dictionary(Of String,String))(jsonText) 

Console.WriteLine(dict("some_number")) 'outputs 108.541 

您還沒有聲明jsonText,所以我不會期望此代碼按原樣運行。我還沒有試圖編譯這個,但它看起來沒問題。

1
Imports System.Web.Script.Serialization 

Dim jss = New JavaScriptSerializer() 
Dim dict = jss.Deserialize(Of Dictionary(Of String, String))(jsonText) 

Console.WriteLine(dict("some_number")) 
'outputs 108.541