2016-04-12 10 views
1
dynamic js = JObject.Parse(App.payCommand.Value); 
Debug.WriteLine((string)js.Value[0].DisplayName); 

App.payCommand.Valueはちょうど私がJOBJECTに解析していた文字列です。JSONを選択子フィールドC#

あなたは上記を参照できるように私は、DisplayNameを抽出しようとしたが、そうしようとしたとき、私はエラーを取得します。私は次のような結果を得る全体のJSON文字列をプリントアウトした場合

は:

{ 

"Type": "SecondScreen", 

"Value": ["\"DisplayName\":\"Zingo\",\"BarCode\":\"54352164895\",\"Price\":5,\"Discount\":0}" 
    ] 

} 

にはどうすればいいように、この場合には、私は「Zingo」を取得するのDisplayNameを抽出していますか?

+2

ような値を得ることができ、それは本当にあなたのJSONですか? [値]が含まれているため、単一のリテラル値を持つ配列* *: ' "表示名": "Zingo"、 "バーコード": "54352164895"、 "価格":5、 "ディスカウント":0}' – poke

+0

は、うーん、私は私だと思いますあなたが何を意味するのか理解していますが、どうすればそれを解決できますか?上記のソリューションはJSONオブジェクトであれば動作しますか?私はその後フィールドを抽出できるように、どのように私はそれJSONオブジェクトことができますか? (すなわち、そこにネストされたオブジェクトの代わりに、文字列で)適切なJSONオブジェクトがあった場合 – Nysithea

+0

は、その後、あなたの表現は、働いているだろう。そのJSONのソースを修正して、適切なJSONを生成する必要があります。 – poke

答えて

0

ことはあなたのJSON形式は以下の通りであるべきとしましょう:

{ 

"Type": "SecondScreen", 

"Value":[{"DisplayName":"Zingo","BarCode":"54352164895","Price":5,"Discount":0 }] 

} 

次にあなたが

dynamic x = JsonConvert.DeserializeObject(App.payCommand.Value); 
var displayName = x.Value[0].DisplayName; 
関連する問題