2012-03-05 3 views
4

Как создать этот JSON массив, используя vb.net массивуКак создать JSON массив с помощью vb.net

var data = {items: [ 
{value: "21", name: "Mick Jagger"}, 
{value: "43", name: "Johnny Storm"}, 
{value: "46", name: "Richard Hatch"}, 
{value: "54", name: "Kelly Slater"}, 
{value: "55", name: "Rudy Hamilton"}, 
{value: "79", name: "Michael Jordan"} 
]}; 
+2

здесь попросили http://stackoverflow.com/questions/579053/how-can-i-encode-a-array-in-vb-net-to-json –

ответ

0

Отъезд расширение Visual Studio галерея под названием JSON.net или перейти на их Codeplex странице (JSON on codeplex)

3

Поскольку вы используете .NET 2.0, вам необходимо использовать JSON-библиотеку Джеймса, с загрузкой в ​​Codeplex (версия для .NET 2.0).

Пример использования Json.NET

Добавить ссылку на Newtonsoft.Json, и Импорт Newtonsoft.Json в своем классе.

Пример:

Import Newtonsoft.Json 

Dim product As New Product() 
product.Name = "Captopril" 
product.Expiry = New DateTime(2008, 12, 28) 
product.Price = 3.99D 
product.Sizes = New String() {"Small", "Medium", "Large"} 


'Call SeralizeObject to convert the object to JSON string' 
Dim output As String = JavaScriptConvert.SerializeObject(product) 

Выходная переменная будет содержать значение:

{ 
    "Name": "Captopril", 
    "Expiry": "\/Date(1230375600000+1300)\/", 
    "Price": 3.99, 
    "Sizes": [ 
    "Small", 
    "Medium", 
    "Large" 
    ] 
} 
+0

Это не работает. В нем говорится, что оба продукта() и JavaScriptConvert не определены. –

+0

Вы действительно загрузили и добавили ссылку для https://json.codeplex.com/ –

+0

Да, я использовал консоль NuGet для установки необходимых зависимостей –

1
Public Class Student 
    Public Property value As String 
    Public Property name As Integer 
End Class 

На Page_Load:

'creating sample student ojects 
    Dim obj1 As New Student() With {.value = "Mick Jagger", .name = 21} 
    Dim obj2 As New Student() With {.value = "Johnny Storm", .name = 43} 
    Dim obj3 As New Student() With {.value = "Richard Hatch", .name = 46} 
    Dim obj4 As New Student() With {.value = "Kelly Slater", .name = 54} 
    'adding student objects to list 
    Dim objStudentList As New List(Of Student)() From { obj1,obj2, obj3, obj4} 

    Dim objJSSerializer As New System.Web.Script.Serialization.JavaScriptSerializer() 

    'Serialization .NET Object to JSON 
    strJSON = objJSSerializer.Serialize(objStudentList) 

    Dim csname2 As String = "ButtonClickScript" 
    Dim cstype As Type = Me.GetType() 
    Dim cstext2 As New StringBuilder() 
    Dim cs As ClientScriptManager = Page.ClientScript 
    cstext2.Append("<script type=""text/javascript""> var data = {items: " + strJSON) 
    cstext2.Append(" }; </") 
    cstext2.Append("script>") 
    cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False) 
Смежные вопросы