3

以下のように適切な値を解析したいJSON文字列をネストしました。少し苦労して学習しているので、単一のJSON文字列を解析し、以下のコード例1を使用して適切な値を返すことができるという点で最初の部分が機能していますが、JSON文字列で立ち往生していますネストされているという点で問題があるため、同じアプローチは機能しません

{
  "jsonrpc":"2.0",
  "method":"Player.OnPause",
  "params":{
     "data": { "item": { "id":29, "type":"episode" },
               "player": { "playerid":1, "speed":0 }
             },
     "sender":"xbmc"
  }
}

そしてコード...

    Dim JSON As String
    Dim values As Newtonsoft.Json.Linq.JObject
    JSON = JSON STRING WOULD GO HERE, COMES from TCP IP STREAM
    values = JObject.Parse(JSON)
    Console.WriteLine(values.GetValue("method"))

その例を使用して、第 1 レベルの JSON 文字列からメソッド キー (Player.OnPause など) を抽出できますが、第 2 および第 3 レベルの文字列からデータを抽出するにはどうすればよいですか。レベルの JSON 値、アイテム レベルの JSON 値。これは上記と同様の方法で可能ですか?

あなたが提供できるヒントに感謝します。私は例によって学ぶ人ですが、ネストされた複数の JSON 文字列または複数のレベルを読み取るために何かを適用するのに苦労しています。間違いなく、私が行方不明になるのは簡単なことですが、誰かが提供できる助けをいただければ幸いです。

ありがとう

4

2 に答える 2

5
    Dim jsonstring = IO.File.ReadAllText("json.txt")
    Dim jo = Json.Linq.JObject.Parse(jsonstring)
    Dim playerid = jo("params")("data")("player")("playerid")

このようなことを意味しますか?「json.txt」には、JSON 文字列が含まれているだけです。

于 2012-11-16T23:21:02.307 に答える