2017-08-19 10 views
-1

私は(私はそれを削減してきたはるかに大きく、)次のデータセットを持ってこのデータ形式をどのように読んでいますか?私は、「タイトル」を取得できるようにしたいと思い

[{ 
    "title": "Brave", 
    "year": "2012", 
    "imdbid": "tt1217209", 
    "scid": "2" 
}, { 
    "title": "The Watch", 
    "year": "2012", 
    "imdbid": "tt1298649", 
    "scid": "1" 
}] 

、たとえば用ブレイブSCIDを見つけることでは: 2

これは私が慣れ親しんでいる他の息子に親子ノードがあるため、これは他のJsonフォーマットと似ていませんが、そうではありません。

必要なデータを取得するためには、何が必要ですか? 私はちょうどVBの値を読むことができるようにする必要があります

編集:これはJavascriptのJson形式ですか?

install-package Newtonsoft.json 

そして、このようにそれを含める:

答えて

1

私にはかなり標準的でシンプルなようです。
この簡単なコードでオブジェクトを取得できます。

まず、あなたが(もちろん、あなたのようにnewtonsoft.jsonようなあなたのプロジェクトで参照JSONの解析ライブラリを持っている必要があります

Sub Main() 

    Dim input = File.ReadAllText("d:\temp\test2.json") 
    Dim list = JsonConvert.DeserializeObject(Of List(Of myObj))(input) 
    Dim obj = list.FirstOrDefault(Function(x) x.scid = 2) 
    Console.WriteLine(obj.Title) 
End Sub 

でそれを取得後、この

Class myObj 

    Public Property Title As String 
    Public Property year As Integer 
    Public Property imdbid As String 
    Public Property scid As Integer 

End Class 

のようなクラスを持っています他の答えで説明しました)

0

は、あなたはそれがこのようpackage manager consoleからインストールすることができ、Newtonsoft.jsonというパッケージをインストールする必要が

Imports Newtonsoft.Json 
Imports Newtonsoft.Json.Linq 

あなたのコードは次のようになります。

Dim json As String = line 

    Dim ser As JObject = JObject.Parse(json) 
    Dim data As List(Of JToken) = ser.Children().ToList 

    For Each item As JProperty In data 
     item.CreateReader() 
     Select Case item.Name 
      Case "metadata" 
       'MsgBox(item.Name) 
      Case "data" 
       For Each msg As JObject In item.Values 

        Dim scid As String = msg("scid") 
        Dim title As String = msg("title") 

       Next 
     End Select 


    Next 

theseコードを参照してください。より多くの例のためのamples、幸運。

関連する問題