c# - 如何获取具有键名“$oid”的参数的所有子json的父键名?
问题描述
{
"id":{"$oid":5c9238241ea62ed5d516fcae},
"createdOn" : ISODate("2019-03-19T03:50:00.000Z"),
"version" : "1.0",
"ruleMasterID":{"$oid":5c90df381ea62ed5d5138266},
}
我有一个这样的json。我想要“$oid”存在的键名作为子 json 中的键。所以,在这个 json id 和 ruleMasterID 是预期的输出。谁能告诉我如何编写代码以在 C# 中获得相同的效果?
解决方案
如果您不想要递归搜索,那么您可以简单地执行 LINQ 语句:
JObject jsonObject = JObject.Parse(json);
var keys = (from x in jsonObject.Children() where x.Children().Any(y => (y as JObject)?.ContainsKey("$oid")==true) select x.Path).ToList();
推荐阅读
- javascript - 如何将 setInterval 的变量值设置为零?
- json - BigQuery 从带有特殊字符的 JSON 中提取 - 斜线和点
- python - 如何从自定义类返回值以供以后使用?
- python - 如何将 .py 转换为 mac 安装程序文件?
- python-3.x - 我无法让私人班级装饰员工作
- javascript - 覆盖光标位置
- python - Python 中用于 sort(key=...) 的 Lambda 函数
- python - Python/Beautiful Soup:根据用户输入从网站上抓取特定信息
- reactjs - 使用钩子将参数传递给路由
- python - 如何在 QlineEdit 中仅输入小时格式