2016-10-11 12 views
0

私はJSONを初めて使用しています。私は、単純なJSONオブジェクト/配列をデシリアライズすることができたが、JSONオブジェクトはJSONを入れ子になったとき、それは次のエラーで失敗している:外部JSONファイルから複雑なJSonを逆シリアル化する

Newtonsoft.Json.Linq.Jobject to System.Collections.Generic.Dictionary

PS:私はに渡されるJSON構造を知りません.NETプログラムでは、JSONをデシリアライズして、それを動的.NETオブジェクトに割り当てました。

dynamic test = JsonConvert.Deserialize<object>(json); 

とテストオブジェクトを介してループのようなものと、その後Dictionary<string,Object>項目

ネストされたJSONのためのデシリアライズを解決するための任意のヒントや提案にそれを割り当てられた??

+1

あなたはまた、JSON文字列を投稿する必要があります。 – Mahdi

+0

{ \t "学生":[ \t \t { \t \t \t "名前": "アミットゴエンカ"、 \t \t \t "メジャー": "物理" \t \t}、{ \t \t \t「名前":" Smita Pallod "、 \t \t \t" Major ":" Chemistry " \t \t} { \t \t \t "名前": "のRajeevセン"、 \t \t \t "メジャー": "数学" \t \t} \t] – user3767641

+0

}サンプルJSON文字列は、上記に定義されます – user3767641

答えて

0

あなたのJSON構造を表すいくつかのクラスが必要です。そして、あなたがRootObjectのオブジェクトにあなたのJSONをデシリアライズすることができます

public class Rootobject 
{ 
    public List<Student> Students { get; set; } 
} 

public class Student 
{ 
    public string Name { get; set; } 
    public string Major { get; set; } 
} 

を:

var students = JsonConvert.DeserializeObject<RootObject>(json); 
関連する問題