1

以下の JSON の例から vb.net でクラスを作成しようとしています。

私はJSONにかなり慣れていないので、これを行う正しい方法を理解するのに苦労しています. これを行う方法の多くの例を見てきましたが、それらは以下に提供するものよりもはるかに単純な形式です.

LEVEL0({
  "LEVEL1": [
    {
      "LEVEL2": [
        {
          "City": "Billings",
          "State": "MO",
          "Country": "US",
          "Id": "1122334455",
          "Percent": "39.10"
          }
      ],
      "City": "Billings",
      "Country": "US",
      "NumFound": "1",
      "NumReturned": "1",
      "State": "MO",
      "Status": "Success"
    }
  ],
  "Status": "1"
});

これはかなり簡単だと思っていましたが、問題の原因は LEVEL2 がリストであることです。複数の都市を返す可能性があります。したがって、[] 内でこのようなものを返すことができます。

{"City": "Billings","State": "MO","Country": "US","Id": "1122334455","Percent": "39.10"},
{"City": "Fairmount","State": "MN","Country": "US","Id": "1177775","Percent": "64.10",}

いずれにせよ、その部分はリストである必要がありますが、リストの下の部分もそのクラスの一部である必要があります。numFound が表示される場所。

これは言い方が悪いと思いますが、これがどのように行われるかの良い例を見つけるのに苦労しています. これに関する指示やアドバイスは大歓迎です。クラスを正しくフォーマットする必要があるため、クラスに逆シリアル化するとエラーなしで動作します。

4

1 に答える 1

2

ある種の Web サービスを使用している場合、これらのプロパティをすべて持つオブジェクトを使用していれば、自動的にバインドされます。何かのようなもの:

Public Class WrapperClass
    Dim Status As Integer
    Dim LEVEL1 As New List(Of MiddleClass)
End Class

Public Class MiddleClass
    Dim LEVEL2 As New List(Of InnerClass)
    Dim City As String
    Dim Country As String
    Dim NumFound As Integer
    Dim NumReturned As Integer
    Dim State As String
    Dim Status As String

    Public Sub MiddleClass()
    'init code
    End Sub
End Class

Public Class InnerClass
    Dim City As String
    Dim Country As String
    Dim State As String
    Dim Id As Integer
    Dim Percent As Decimal
End Class

次に、Webサービスで、タイプのパラメーターを受け入れるようにしますWrapperClass

于 2012-05-09T22:15:55.393 に答える