Como obtenho uma propriedade profundamente aninhada da string JSON?

Como posso obter o array "myThings" do JSON que se parece com o seguinte usando o JSON.NET?

Exemplo 1:

{
    "z": {
        "a": 1,
        "b": 2
    },
    "something": {
        "y": [1, 2],
        "somethingElse": {
            "1234": {
                "foo": "bar",
                "myThings": [{
                    "name": "bob",
                    "age": 3
                }, {
                    "name": "bob",
                    "age": 3
                }]
            }
        }
    }
}

Exemplo 2:

{
    "z": {
        "a": 1,
        "b": 2
    },
    "something": {
        "y": [1, 2],
        "somethingElse": {
            "7890": {
                "foo": "bar"
            }
        }
    }
}

Algumas coisas com as quais estou tendo dificuldades:

Um dos nomes de propriedade é um número imprevisível ("1234" e "7890")Às vezes, a matriz "myThings" não existe - nesse caso, nulo ou uma matriz / coleção vazia é o que eu quero ter

Outra consideração no caso de ajudá-lo: Eu tenho uma classe estática que representa as coisas dentro da matriz myThings, portanto meu valor de retorno ideal seriaIEnumerable<MyThing>

Minha primeira tentativa foi usarJsonConvert.DeserializeObject<dynamic>(json) mas não sei como lidar com os problemas mencionados acima. No final, não preciso dos dados da string JSON inteira, apenas da matriz interna chamada "myThings".

questionAnswers(1)

yourAnswerToTheQuestion