XMLのXPath、SELECTNODES、SELECTSINGLENODEのJSON.NETと同等とは何ですか?

StackOverflow https://stackoverflow.com/questions/1698175

  •  18-09-2019
  •  | 
  •  

質問

現在、私のコードの構造は、XMLデータをロードした後、アイテムを繰り返すリストを反復処理するためにXmlDocumentするSelectNodesを使用します。

各要素について、私はフィールド要素を取り出すためにXmlNode.SelectSingleNodeを使用しています。

私は今、JSONとして私に配信文書と同じ結果を達成するためにJSON.NETを使用したいです。その答えは、それがC#の積分だとして、JSON.net以外の何かすることができます。

役に立ちましたか?

解決

Json.NET のSelectTokenがあります。これは、文字列式を経由してJSONを取得するためにDataBinder.Evalに似た構文を使用します:

JObject o = JObject.Parse("{'People':[{'Name':'Jeff'},{'Name':'Joe'}]}");

// get name token of first person and convert to a string
string name = (string)o.SelectToken("People[0].Name");

それとも、複数の値を選択したい場合:

JObject o = JObject.Parse("{'People':[{'Name':'Jeff','Roles':['Manager', 'Admin']}]}");

// get role array token of first person and convert to a list of strings
IList<string> names = (string)o.SelectToken("People[0].Roles").Select(t => (string)t).ToList();

ドキュメント: SelectTokenとのクエリJSON

他のヒント

あなたはJSONをマッピングすることができ、オブジェクト階層を持っていますか?あなたは(つまりJSONをデシリアライズ)オブジェクトツリーを作成し、そしてなどLINQのWhereSelectManyを、使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top