serialize recorrer newtonsoft net jtoken jobject example json.net

recorrer - json.net SelectToken con "." incrustado



recorrer json c# (4)

Tengo json que se ve así:

myjson = {"queries":{"F.SP": 27}}

entonces con

queryResults = JObject.Parse(jsonString)

puedo hacer

firstToken = queryResults.SelectToken("queries")

y recupera el LinqJToken

{"F.SP": 27}

pero estoy atascado, porque cuando intento

subToken = firstToken.SelectToken("F.SP")

Obtengo nada. Supongo que esto se debe a que JSON.net está buscando un token "F" con subtoken "SP".

También probé cada uno de los siguientes, sin éxito

myToken = queryResults.SelectToken("queries.F.SP") myToken = queryResults.SelectToken("queries[0].F.SP")

(queryResults.SelectToken ("consultas [0]") no devuelve nada, fwiw)

¿Algunas ideas?

EDITAR: he verificado que el "." Incrustado. es el problema; si cambio el json original a

{"queries":{"FSP": 27}}

puedo hacer

queryResults.SelectToken("queries").SelectToken("FSP")

No hay problema


Esto no devolverá el token en sí, pero devolverá el valor (que probablemente sea lo que está buscando de todos modos) ...

queryResults.SelectToken("queries").Value<int>("F.SP");


JObject obj = JObject.Parse(jsonstring); var fsp = obj["queries"].First().First();

No es el más elegante pero tiene el valor.


En lugar de tratar de usar SelectToken, ¿qué tal una búsqueda de índice?

subToken = queryResults["F.SP"];