我们遇到以下问题,下面的JSON是在使用php登录我们的网站后为每个用户动态生成的。 因为我们在同一个数据库上使用自行开发的Windows桌面程序访问,所以我们需要处理JSON也是VB的一部分。 我们正在使用VB板工具(最好保留) 到目前为止,我们未能定义一个接收JSON的合适VB类。 在一维JSON中,它很好地与List Of(自己的对象)一起工作,但是在这里我们还没有找到合适的定义。
JSON(减少到存在的元素数量):
{
"id": "639C",
"admin": "0",
"blacklist": [
{
"id": "4CE5",
"name": "DEMO",
"rechte": []
},
{
"id": "EC81",
"name": "ENTWICKLUNG",
"rechte": [
{
"id": "001C",
"sichtbar": "-1",
"neu": "0",
"loeschen": "0",
"bearbeiten": "-1"
},
{
"id": "0068",
"sichtbar": "-1",
"neu": "0",
"loeschen": "0",
"bearbeiten": "-1"
}
]
}
]
}
VB-Class(已经改变了一千次):
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Json
Imports System.IO
<DataContract()> _
Public Class myLoginResponse
Private _Id As String
Private _Admin As String
Private _myMandanten As myMandanten(Of myBlacklist(Of myRecht))
<DataMember(Name:="id")> _
Public Property Id() As String
Get
Return _Id
End Get
Set(ByVal value As String)
_Id = value
End Set
End Property
<DataMember(Name:="admin")> _
Public Property Admin() As String
Get
Return _Admin
End Get
Set(ByVal value As String)
_Admin = value
End Set
End Property
Public Property myMandanten() As myMandanten(Of myBlacklist(Of myRecht))
Get
Return _myMandanten
End Get
Set(ByVal value As myMandanten(Of myBlacklist(Of myRecht)))
_myMandanten = value
End Set
End Property
End Class
<DataContract()> _
Public Class myMandanten(Of T)
Inherits List(Of T)
Private _myBlacklist As myBlacklist(Of myRecht)
Public Property myBlacklist() As myBlacklist(Of myRecht)
Get
Return _myBlacklist
End Get
Set(ByVal value As myBlacklist(Of myRecht))
_myBlacklist = value
End Set
End Property
End Class
<DataContract()> _
Public Class myBlacklist(Of T)
Inherits List(Of myRecht)
Private _Id As String
Private _Name As String
<DataMember(Name:="id")> _
Public Property Id() As String
Get
Return _Id
End Get
Set(ByVal value As String)
_Id = value
End Set
End Property
<DataMember(Name:="name")> _
Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
End Set
End Property
End Class
<DataContract()> _
Public Class myRecht
Private _Id As String
Private _Sichtbar As Boolean
Private _Neu As Boolean
Private _Loeschen As Boolean
Private _Bearbeiten As Boolean
<DataMember(Name:="id")> _
Public Property Id() As String
Get
Return _Id
End Get
Set(ByVal value As String)
_Id = value
End Set
End Property
<DataMember(Name:="sichtbar")> _
Public Property Sichtbar() As Boolean
Get
Return _Sichtbar
End Get
Set(ByVal value As Boolean)
_Sichtbar = value
End Set
End Property
<DataMember(Name:="neu")> _
Public Property Neu() As Boolean
Get
Return _Neu
End Get
Set(ByVal value As Boolean)
_Neu = value
End Set
End Property
<DataMember(Name:="loeschen")> _
Public Property Loeschen() As Boolean
Get
Return _Loeschen
End Get
Set(ByVal value As Boolean)
_Loeschen = value
End Set
End Property
<DataMember(Name:="bearbeiten")> _
Public Property Bearbeiten() As Boolean
Get
Return _Bearbeiten
End Get
Set(ByVal value As Boolean)
_Bearbeiten = value
End Set
End Property
End Class