如何从json文件(或xml文件)创建vb.net对象类

如何从json文件(或xml文件)创建vb.net对象类,xml,json,vb.net,Xml,Json,Vb.net,我想知道如何从json文件或xml文件创建一个objet类 例如: 我从webservice获取此json文件: {"nid":"3798","vid":"3788","type":"contact","language":"fr","title":"G","uid":"1","status":"1","created":"1374598689","changed":"1374598689","comment":"1","promote":"0","sticky":"0","tnid":"0",

我想知道如何从json文件或xml文件创建一个objet类

例如:

我从webservice获取此json文件:

{"nid":"3798","vid":"3788","type":"contact","language":"fr","title":"G","uid":"1","status":"1","created":"1374598689","changed":"1374598689","comment":"1","promote":"0","sticky":"0","tnid":"0","translate":"0"}
我想创建一个类,如:

Public Class Card
  Public nid As Integer
  Public vid As Integer
  Public type As String
  Public language As String
  Public title As String
  .
  .
  .
End Class
注意:

  • 我的问题不是如何在vb.net中序列化/反序列化json对象
  • 我的xml文件没有XSD,这就是为什么更难的原因
  • 我的代码是用VB.Net编写的,不是用C#。我发现很多网站将json转换成c#(),但没有json转换成vb.net
如果我没有选择,我将手动创建我的类…:-(

提前感谢你的帮助


Eric

您可以使用()将json转换为csharp,然后使用()将csharp代码转换为vb.net。对于反序列化,您可以使用Newtonsoft.json。反序列化代码为:

JsonConvert.DeserializeObject(Of YourClass)(<JSON String>)
JsonConvert.DeserializeObject(属于您的类)()

既然您讨论的是XML和JSON文件,我建议您安装

这为Visual Studio添加了一个不错的新功能:

将JSON粘贴为.NET类。使用此特殊的粘贴命令将JSON粘贴到C#或VB.NET代码文件中,Visual Studio将自动生成从JSON推断出的.NET类

如果你有

{"nid":"3798","vid":"3788","type":"contact","language":"fr","title":"G","uid":"1","status":"1","created":"1374598689","changed":"1374598689","comment":"1","promote":"0","sticky":"0","tnid":"0","translate":"0"}
在剪贴板中,它将为您生成以下类:

Public Class Rootobject
    Public Property nid As String
    Public Property vid As String
    Public Property type As String
    Public Property language As String
    Public Property title As String
    Public Property uid As String
    Public Property status As String
    Public Property created As String
    Public Property changed As String
    Public Property comment As String
    Public Property promote As String
    Public Property sticky As String
    Public Property tnid As String
    Public Property translate As String
End Class

你是个天才:-D!非常感谢!非常感谢。令人惊讶的是,我查阅了这么多网站,你是第一个提到这个解决方案就在我自己的厨房里的人!它应该也能工作,但我更喜欢多米尼克·凯塞尔的解决方案;-)