告诉我我做错了什么。
我有像这样的Json格式
{"RuleOne": "1", "RuleTwo": "Two", "RuleFive": "[1-5]"}
我可以为每个json字符串设置许多不同的规则。每个规则使用相同的算法进行评估。所以我知道RuleOne将始终是一个数字,RuleTwo将始终是一个字符串,RuleFive将始终是一个范围,依此类推。我的评估方法做到了这一切。这不是我的问题。
我使用了Newtonsoft.Json库和Newtonsoft.Json.Linq.JObject
如何评估令牌的名称和价值?
For Each token In json.First.SelectTokens(String.Empty)
Select Case token.??Name??()
Case "RuleOne"
DoThisJob(token.??Value??)
Case "RuleTwo"
DoThisOtherJob(token.??Value??)
End Select
Next
答案 0 :(得分:0)
通过使用JObject
函数获取Properties()
的属性来迭代For Each token In json.Properties()
Select Case token.Name
Case "RuleOne"
DoThisJob(token.ToObject(Of Object))
Case "RuleTwo"
DoThisOtherJob(token.ToObject(Of Object))
End Select
Next
的属性:
Properties()
注意 - 我在json
上直接使用了json
。如果JSON中的数据结构不同,您可以修改ICollectionView view = CollectionViewSource.GetDefaultView(customerList);
view.Filter = obj =>
{
string item = obj as string;
return (item.ToLower().Contains(YourFilter));
};
。但是,您在问题中提到的任务可以使用上述方法完成。