2012-04-25 12 views
5

私は次のようになりますJSON持っている:私はjson.net SelectTokenに埋め込み "。"

firstToken = queryResults.SelectToken("queries") 

を行うと、LinqJToken

{"F.SP": 27} 

を取り戻すことができ

queryResults = JObject.Parse(jsonString) 

とそう

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

を私は」私が試してみると、つぶれてしまいます。

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

私は何も取得しません。 JSON.netがサブトークン "SP"を使ってトークン "F"を探しているからです。

私も無駄には、以下のそれぞれを試してみた

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

()何も返しませんqueryResults.SelectToken( "[0]クエリ"、FWIW)

任意のアイデアは?

EDIT:埋め込み "。"問題です。私は

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

に、元のJSONを変更した場合、私は何の問題

答えて

3

...

queryResults.SelectToken("queries").Value<int>("F.SP"); 
0
JObject obj = JObject.Parse(jsonstring); 
var fsp = obj["queries"].First().First(); 

最もエレガントない

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

を行うことはできませんが、それは値を取得します。これは、トークン自体を返しませんが、(あなたがとにかく探している、おそらく何をしている)の値を返します

1

代わりについてどのようSelectTokenを、使用しようとしますインデックス検索?あなたはJSONの分野において、このような名前がある場合

subToken = queryResults["F.SP"];