2014-07-25 53 views
0

我正在開發框架4.0中的窗體窗體應用程序。我正在使用JSON.NET。我有一個字符串變量中的以下json。我有json中的10個類,如下所示。如何解析以下JSON並將其轉換成列表如何解析這個json列表<Class>?

[ 
     { 
      "Class": 1, 
      "ClassUrl": "EngineeringSemister12014A", 
      "OEPTitle": "Engineer", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       } 
      ], 
      "IsArchived": true 
     }, 
     { 
      "Class": 7, 
      "ClassUrl": "Engineer2014A", 
      "OEPTitle": "Engineer", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       } 
      ] 
     }, 
     { 
      "Class": 8, 
      "ClassUrl": "Engineer22014A", 
      "OEPTitle": "Engineer2", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       } 
      ] 
     }, 
     { 
      "Class": 9, 
      "ClassUrl": "Engineer32014A", 
      "OEPTitle": "Engineer3", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       } 
      ] 
     }, 
     { 
      "Class": 10, 
      "ClassUrl": "Engineer32014B", 
      "OEPTitle": "Engineer3", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       }, 
       { 
        "Id": 8, 
        "OEPTitle": "english" 
       } 
      ], 
      "IsRecycled": true 
     }, 
     { 
      "Class": 12, 
      "ClassUrl": "Engineer52014B", 
      "OEPTitle": "Engineer5", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       }, 
       { 
        "Id": 8, 
        "OEPTitle": "english" 
       } 
      ] 
     }, 
     { 
      "Class": 13, 
      "ClassUrl": "Engineer62014B", 
      "OEPTitle": "Engineer6", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       }, 
       { 
        "Id": 8, 
        "OEPTitle": "english" 
       } 
      ] 
     }, 
     { 
      "Class": 16, 
      "ClassUrl": "Mechanical2014undefined", 
      "OEPTitle": "Mechanical Branch", 
      "Subject": [ 
       { 
        "Id": 6, 
        "OEPTitle": "history" 
       }, 
       { 
        "Id": 4, 
        "OEPTitle": "chemical " 
       } 
      ] 
     }, 
     { 
      "Class": 6, 
      "ClassUrl": "Engineer12014A", 
      "OEPTitle": "Engineer1", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       }, 
       { 
        "Id": 6, 
        "OEPTitle": "history" 
       }, 
       { 
        "Id": 4, 
        "OEPTitle": "chemical " 
       } 
      ] 
     }, 
     { 
      "Class": 11, 
      "ClassUrl": "Engineer42014B", 
      "OEPTitle": "Engineer4", 
      "Subject": [ 
       { 
        "Id": 1, 
        "OEPTitle": "Algebra" 
       }, 
       { 
        "Id": 2, 
        "OEPTitle": "Maths" 
       }, 
       { 
        "Id": 6, 
        "OEPTitle": "history" 
       }, 
       { 
        "Id": 4, 
        "OEPTitle": "chemical " 
       }, 
       { 
        "Id": 8, 
        "OEPTitle": "english" 
       } 
      ] 
     } 
    ] 
+0

難道要分析它,並創建一個班級?或者是什麼?你有沒有爲你的JSON使用POCO類? –

回答

5

使用json2csharp

public class Subject 
{ 
    public int Id { get; set; } 
    public string OEPTitle { get; set; } 
} 

public class RootObject 
{ 
    public int Class { get; set; } 
    public string ClassUrl { get; set; } 
    public string OEPTitle { get; set; } 
    public List<Subject> Subject { get; set; } 
    public bool IsArchived { get; set; } 
} 

,現在,你可以使用JSON.NET:

List<RootObject> rootObj = JsonConvert.Deserialize<List<RootObject>>(yourJsonHere); 
+0

這是一個很酷的網站。謝謝 – Dbl