如何获得具有参数名为“ $ oid”的参数的所有子json的父键名?

时间:2019-03-26 14:39:25

标签: c# json mongodb jobjectformatter

{
"id":{"$oid":5c9238241ea62ed5d516fcae},
"createdOn" : ISODate("2019-03-19T03:50:00.000Z"),
"version" : "1.0",
"ruleMasterID":{"$oid":5c90df381ea62ed5d5138266},
}

我有一个像这样的json。我想要“ $ oid”作为子json中的键的键名。 因此,在此json id和ruleMasterID中是期望的输出。 谁能告诉我如何编写代码以在C#中获得相同的代码?

1 个答案:

答案 0 :(得分:1)

如果您不想进行递归搜索,则只需执行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();