使用vb.net如何创建JSON数组

8
如何使用vb.net数组创建此JSON数组
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
被问到这里https://dev59.com/UnRB5IYBdhLWcg3wl4IQ - just.another.programmer
3个回答

8

如果您使用的是.NET 2.0,那么必须使用James的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"
  ]
}

3
无法正常工作,它显示Product()和JavaScriptConvert都未定义。 - Erik Grosskurth
1
是的,我使用了 NuGet 控制台来安装必要的依赖项。 - Erik Grosskurth

6
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)

1

请查看 Visual Studio Gallery 扩展,名为 JSON.net 或者前往他们的 CodePlex 页面(JSON on codeplex


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接