XMLのXPath、SELECTNODES、SELECTSINGLENODEのJSON.NETと同等とは何ですか?
質問
現在、私のコードの構造は、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のWhere
、SelectMany
を、使用することができます。
所属していません StackOverflow