使用DataContract从VB .Net访问JSON中的无名属性

时间:2013-08-13 20:07:41

标签: .net json vb.net deserialization datacontractserializer

我正在尝试在VB .Net中序列化包含以下内容的JSON文件: "scripts": [[123, 80, [["whenKeyPressed", "space"], ["nextCostume"]]], [55, 32, [["whenKeyPressed", "space"], ["doPlaySoundAndWait", "Hello"]]]]

我正在使用DataContract<DataMember(Name:="scripts")>,它适用于文件的其余部分,但在这种情况下,属性没有名称。 JSON Validator JSONlint.com说这是有效的JSON。

我认为DataData的资格如何?此外,它有一个无名的数组,我怎么才能访问它?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我终于找到了一种解决方法,将scripts分配给List(Of Object)中的DataContract,然后在运行时将scripts转换为所需类型。我将它作为IList(Of Object)传递给列表,然后在For循环中迭代它们。

它不像其他人一样“感觉”为“面向对象”,我不能按名称引用字段(因为它们没有),但是它有效(有很多演员,特别是因为我工作与Option Strict On)。

如果有更好的方法,我愿意接受建议。