Как получить имя родительского ключа для всех sub json, у которого есть параметр с именем ключа «$ oid»? - PullRequest
0 голосов
/ 26 марта 2019
{
"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 Ответ

1 голос
/ 26 марта 2019

Если вам не нужен рекурсивный поиск, вы можете просто сделать оператор 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();
...