¿Cómo obtengo una propiedad profundamente anidada de una cadena JSON?
¿Cómo puedo obtener la matriz "myThings" de JSON que se parece a lo siguiente usando JSON.NET?
Ejemplo 1:
{
"z": {
"a": 1,
"b": 2
},
"something": {
"y": [1, 2],
"somethingElse": {
"1234": {
"foo": "bar",
"myThings": [{
"name": "bob",
"age": 3
}, {
"name": "bob",
"age": 3
}]
}
}
}
}
Ejemplo 2
{
"z": {
"a": 1,
"b": 2
},
"something": {
"y": [1, 2],
"somethingElse": {
"7890": {
"foo": "bar"
}
}
}
}
Un par de cosas con las que tengo dificultades:
Uno de los nombres de propiedad es un número que es impredecible ("1234" y "7890")A veces, la matriz "myThings" no existe; en este caso, es nulo o una matriz / colección vacía es lo que quiero tenerOtra consideración en caso de que lo ayude: tengo una clase estática que representa las cosas dentro de la matriz myThings, por lo que mi valor de retorno ideal seríaIEnumerable<MyThing>
Mi primer intento fue usarJsonConvert.DeserializeObject<dynamic>(json)
pero no sé cómo manejar los problemas que mencioné anteriormente. Al final, no necesito toda la cadena de datos JSON, solo esa matriz interna llamada "myThings".