私はこのJSONを持っています:
{
"client_id": "26075235",
"client_version": "1.0.0",
"event": "app.uninstall",
"timestamp": 1478741247,
"data": {
"user_id": "62581379",
"site_id": "837771289247593785",
"platform_app_id": "26075235"
}
}
私はそれをJSON.NET JObjectに解析し、例えばを使用して最初のレベルの値に正常にアクセスできます(string)RequestBody.SelectToken("client_id")
JPath 式を使用して(または JSON.NET JObject の子オブジェクトにアクセスして) "user_id" の値にアクセスするにはどうすればよいですか? これは機能しません:
(string)RequestBody.SelectToken("data[0].user_id")
JSONの「データ」部分を解析するためにこれを行うことはできません:
JObject RequestBodyData = JObject.Parse((string)RequestBody.SelectToken("data"));
コンパイラがオブジェクトとして認識RequestBody.SelectToken("data")
しているようです(「オブジェクトを文字列に解析できません」というエラーが表示されます)
JSONをJObject(またはJSONを処理するための他のタイプの汎用オブジェクト)に汎用的に解析できるようにする必要があるソリューションを開発しているため、元のJSONをカスタムC#オブジェクトに解析したくないので、比較的一貫した方法で解析できます。