【发布时间】:2013-09-26 19:43:57
【问题描述】:
我只是在学习 VB 2010 的基础知识,我正在尝试设计一个程序来维护数据库。我在数据库中有一个 JSON 字符串,其中包含图像文件列表及其相关 ID 号。这是 JSON 格式,因为网站也使用此数据。 示例代码是
[{"ID": 0, "Path": "Image0.jpg"},{"ID": 1, "Path": "Image1.jpg"}, {"ID": 2, "Path": "Image2.jpg"},{"ID": 3, "Path": "Image3.jpg"}]
我尝试过使用 JSON.NET,但我是新手,不知道为什么它不起作用。
我希望有一种方法可以返回图像文件,例如在 php 中 $DecodedArray[0] 会起作用,我正在寻找一种在 Visual Basic 中复制它的方法。
Imports System.Web.Script.Serialization
Module Module1
Public Class Target
Public ID, Image As String
End Class
Sub Main()
Console.Clear()
Dim ser As New JavaScriptSerializer()
Dim input As String = My.Computer.FileSystem.ReadAllText("JSONFile.txt")
'[{"ID": 0, "Path": "Image0.jpg"},{"ID": 1, "Path": "Image1.jpg"}, {"ID": 2, "Path": "Image2.jpg"},{"ID": 3, "Path": "Image3.jpg"}]
Console.WriteLine(input)
Console.WriteLine()
Dim output As Target = ser.Deserialize(Of Target)(input)
Console.Write(output.ID.0)
Console.ReadKey()
End Sub
End Module
使用此代码,我希望输出为 Image0.jpg
注意,我无法从 Visual Basic 2010 Express 升级
【问题讨论】:
-
那么...为什么这被标记为 PHP?
-
为什么说json.net失败了?
-
@DanielA.White 我多次尝试失败了多次。它通常是某种“无法访问子值”的转换错误
-
您需要发布您的 VB 代码。
-
那个 JSON 看起来很乱。使用身份证号码作为属性是可怕的。我建议你构造一个具有真实属性的 JSON 对象并使用一个数组来压缩它:`[{"ID": 1, "Path": "Image1.jpg"}, {"ID": N, "Path": "ImageN.jpg"}]