あなたはあなたの特性を通過して、正規表現のために自分の名前をテストするためにLINQを利用することができます
public static class JsonExtensions
{
public static Dictionary<string, JToken> PropertiesByRegexp(this JObject token, Regex regex)
{
return token.Properties()
.Where(p => regex.IsMatch(p.Name))
.ToDictionary(p => p.Name, p => p.Value);
}
}
あなたは今、次のように、この拡張メソッドを使用することができます。
JObject sample = JsonConvert.DeserializeObject("{\"total_ra4jhga987y3h_power\": 30, \"not_matching\": 31}") as JObject;
var result = sample.PropertiesByRegexp(new Regex("^total_(.*)_power$"));
foreach (var propertyPair in result)
{
Console.WriteLine($"{propertyPair.Key}: {propertyPair.Value}");
}
出力:
total_ra4jhga987y3h_power: 30
私はプロパティ()を実行する必要がありました。 GetPropertiesのisnteadとそれはNewtonsoft.Jsonを使用して働いた – user299709
@ user299709:うん、はい、ドキュメントを誤解。一定。 –