2017-12-14 8 views
0

私は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(); 

これは私に見えリストを与えますlike enter image description here

+0

1)あなたは、リストを反復処理し、それぞれを検査せずに*リストを検索したいのはなぜトークン*?それはどういう意味ですか? 2)あなたは[mcve]を提供できますか? 3)トークンは「JValue」のアトミックな値であるか、検索語が深く入れ子になっているコンテナになりますか? – dbc

+0

まあ、本質的に私は2つのリストを持っていて、あるリストに他のリストの値が含まれているかどうかを知りたい。両方のリストに1つのアクションを取る値が含まれている場合、リストに両方とも値が含まれていない場合は別のアクションを行います。 – mack

+0

サンプルコードでtestlistの定義を提供してください。 –

答えて

0

あなたがContainsが一致JTokenのために比較しIEnumerable<JToken>の内容、各JTokenの値をテストする必要はありません。

var hasChecking = testlist.Any(jt => jt.Value<string>().Contains("Checking")); 
+0

ありがとう@NetMage。あなたが投稿したものを使用して、私は物事を働かせることができました! – mack

関連する問題