私はJTokensのリストを持っており、トークンのいずれかに特定の値が含まれているかどうかを判断する必要があります。たとえば、トークンのリストに "Checking"という単語が含まれているかどうかを知る必要があります。リストの最初のJTokenには「Checking 11010000」という値が含まれています。JTokensのテキスト値のリスト
ここに実際にコンパイルされたいくつかの試みがあります。
var test1 = testlist.FirstOrDefault(i => i.Contains("Checking")); // returns null
var test2 = testlist.Any(x => x.Contains("Checking")); // returns false
var test3 = testlist.TrueForAll(x => x.Contains("Checking")); // returns false
var test4 = testlist.TrueForAll(x => x.Children().Contains("Checking")); // returns false
var test5 = testlist.Any(x => x.Children().Contains("Checking")); // returns false
var test6 = testlist.All(x => x.Children().Contains("Checking")); // returns false
var test7 = testlist.Find(x => x.Contains("Checking")); // returns null
JTokenリストの値を検索するには、リストの反復と各トークンの検査を行わないでください。
アップデート:ここで
は、関連するJSONソースのスニップです:
{
...
"Rows":{
"Row":[
{
"ColData":[
{
"value":"Checking 11010000",
"id":"35"
},
{
"value":"232.40"
},
{
"value":""
}
]
},
{
"ColData":[
{
"value":"Savings 11020000",
"id":"36"
},
{
"value":"800.00"
},
{
"value":""
}
]
}
...
}
これは私のリストが宣言されている方法です
var testlist = PriorMonth.SelectTokens("$..ColData[*].value").ToList();
1)あなたは、リストを反復処理し、それぞれを検査せずに*リストを検索したいのはなぜトークン*?それはどういう意味ですか? 2)あなたは[mcve]を提供できますか? 3)トークンは「JValue」のアトミックな値であるか、検索語が深く入れ子になっているコンテナになりますか? – dbc
まあ、本質的に私は2つのリストを持っていて、あるリストに他のリストの値が含まれているかどうかを知りたい。両方のリストに1つのアクションを取る値が含まれている場合、リストに両方とも値が含まれていない場合は別のアクションを行います。 – mack
サンプルコードでtestlistの定義を提供してください。 –