我正在使用 Newtonsoft Json.Net 库使用 VB.NET 解析 Json
Json Data
---------
{
"CC": "sample.cc@emailDomain.com",
"CcFull": [
{
"Email": "sample.cc@emailDomain.com",
"Name": "John Sample"
},
{
"Email": "another.cc@emailDomain.com",
"Name": "Mike Sample"
}
],
"FromFull" : {
"Email": "myUser@theirDomain.com",
"Name": "John Doe"
}
}
因此,我可以得到一个有效的 JObject:
Dim o As JObject = JObject.Parse(strJson)
然后我可以获取 JToken 列表并遍历它们并轻松获取根项值 - 但是如何获取 CcFull 的子记录?
Dim results As List(Of JToken) = o.Children().ToList
For Each item As JProperty In results
item.CreateReader()
Select Case item.Name
Case "CC"
dim strCC = item.Value.ToString
Case "CcFull"
'This has children (Email and Name)
End Select
Next
似乎我可以使用 JArray 或解析 item.value - 但语法让我难以理解。
我不想在 VB 中设置一个完整的强类型模型并进行自动反序列化 - 更喜欢在 C# 中执行它的动态方式 - 或者最好只为 CcFull 节点迭代 n 个子节点并取出电子邮件的值并命名并将它们放在通用列表中。
似乎 SO 或谷歌搜索没有好的 VB.NET 示例。
C# 有完全简单的方法来做到这一点 - 但我被困在这个项目的 VB.NET 中。
谢谢大家