全部, 我需要一些帮助来理解类如何与vb.NET和JSON.NET一起工作。我对此完全陌生。我试过寻找答案,但我可能不会问正确的问题。这是我的困境:
我有一个需要发送到REST API的JSON。
{
"paInfo":[
{
"providerAccountName":"someClient",
"providerAccountDescription":"A fine client.",
"providerName":"provider",
"externalProviderIdentifier":"BU4377890111"
},
{
"providerAccountName":"someClient1",
"providerAccountDescription":"A fine client.",
"providerName":"provider",
"externalProviderIdentifier":"BU4377890111"
}
],
"hubAccountName":"test"
}
我通过https://jsonutils.com/运行这个来构建我的课程:
Public Class PaInfo
Public Property providerAccountName As String
Public Property providerAccountDescription As String
Public Property providerName As String
Public Property externalProviderIdentifier As String
End Class
Public Class addHubAcct
Public Property paInfo As PaInfo()
Public Property hubAccountName As String
End Class
从那里开始,我正在尝试为类属性赋值,但我不太明白如何将PaInfo的值传递给属性。下面是我用于分配值的代码片段。如果我尝试分配a.paInfo = p
,则会出错:
错误BC30311:无法将“PaInfo”类型的值转换为 'PaInfo()'
如果我没有将任何内容传递给a.paInfo
,我会在JSON序列化中获得零长度字符串。
Private Sub serializeAcct()
Dim p As New PaInfo
Dim a As New addHubAcct
p.providerAccountName = "Test\name'This ""that and the other'"
p.providerAccountDescription = "acct desc"
p.providerName = "tester"
p.externalProviderIdentifier = "123456"
a.hubAccountName = "Tester"
a.paInfo = p 'Here's my hangup
Dim o As String = JsonConvert.SerializeObject(a)
Dim deserializedProduct As addHubAcct = JsonConvert.DeserializeObject(Of addHubAcct)(o)
Stop
End Sub
?o.tostring,nq
{"paInfo":null,"hubAccountName":"Tester"}
答案 0 :(得分:0)
像这样更改df['DateColumn_A'] = pd.to_datetime(df['DateColumn_A'])
df['DateColumn_B'] = pd.to_datetime(df['DateColumn_B'])
print (df.index[df.DateColumn_A < df.DateColumn_B])
类:
addHubAcct
然后更改Public Class addHubAcct
Public Property paInfo As New List(Of PaInfo)()
Public Property hubAccountName As String
End Class
中的错误行:
serializeAcct()
你可能还有其他问题,但这应该让你超越当前的障碍。
答案 1 :(得分:0)
使用List和.ToArray是我原始代码所缺少的。
Private Sub serializeAcct()
Dim p1 As New PaInfo
Dim ps As New List(Of PaInfo)
Dim a As New addHubAcct
p1.providerAccountName = "Test\name'This ""that and the other'"
p1.providerAccountDescription = "acct desc"
p1.providerName = "tester"
p1.externalProviderIdentifier = "123456"
ps.Add(p1)
a.hubAccountName = "Tester"
a.paInfo = ps.ToArray
Dim o As String = JsonConvert.SerializeObject(a)
End Sub