簡體   English   中英

如何使用Newtonsoft Json.net在這個反序列化的對象中循環/迭代?

[英]How do I loop/iterate through this deserialized object using Newtonsoft Json.net?

我有以下JSON對象:-

    Public Class oPartner
        Public Property PartnerID() As String
        Public Property PartnerTitle() As String
        Public Property PartnerStrapline() As String
        Public Property PartnerData() As String
    End Class

以及以下partners.json JSON文件:-

[
  {
    "PartnerID": "1",
    "PartnerTitle": "TITLE1",
    "PartnerStrapline": "STRAP1",
    "PartnerData": "SOME INFO IN HERE",
    "PartnerImage": ""
  },
  {
    "PartnerID": "2",
    "PartnerTitle": "TITLE2",
    "PartnerStrapline": "STRAP2",
    "PartnerData": "SOME MORE INFO IN HERE",
    "PartnerImage": ""
  },
  {
    "PartnerID": "3",
    "PartnerTitle": "TITLE3",
    "PartnerStrapline": "STRAP3",
    "PartnerData": "MORE INFO",
    "PartnerImage": ""
  }
] 

所以我可以使用以下方法讀取JSON並反序列化:

Dim data As oPartner = JsonConvert.DeserializeObject(Of oPartner)(File.ReadAllText("c:\partners.json"))

但是我不知道如何在vb(或C#)中遍歷json?

JSON表示對象數組,但是您嘗試將其反序列化為單個實例。 您需要反序列化為oPartner的數組(或List)。 像這樣嘗試:

Dim data As List(Of oPartner) = JsonConvert.DeserializeObject(Of List(Of oPartner))(File.ReadAllText("c:\partners.json"))

然后,您可以像這樣遍歷列表:

For Each partner As oPartner In data
    Console.WriteLine(partner.PartnerID)
    Console.WriteLine(partner.PartnerTitle)
    Console.WriteLine(partner.PartnerStrapline)
    Console.WriteLine(partner.PartnerData)
    Console.WriteLine()
Next

小提琴: https : //dotnetfiddle.net/N8Im6q

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM