2012-08-15 3 views
3

JSON 조각을 C# 개체에 대해 deserialize하려고합니다. 지금까지 거의 성공하지 못했습니다. http://jsonlint.com/에 따르면 다음 문자열이 유효한 JSON입니다. 그러나 변수 이름이없는 것 같습니다. "objectID", "objectName"및 모든 것을 말하는 문자열이있는 JSON을 보는 데 익숙합니다. 이 경우 objectID 및 objectName과 같은 필드를 사용하여 C# 객체를 만들고이 모든 것을 deserialize 할 수 있습니다. Quote deserializedProduct = JsonConvert.DeserializeObject<Product>(json);C#에서 유효한 JSON 개체

내가 어떻게이 작업을 수행 할 수 있는지에 대한 제안이 있으십니까? 예를 들어 일련의 들쭉날쭉하거나 중첩 된 배열로 deserialize하는 방식은 보이지 않습니다. 어떤 도움을 주시면 감사하겠습니다.

{ 
"ABCXYZ": { 
    "Wed, Aug 29|Wed|29 Aug 12": [ 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 812~ ~~ABC~08/29/2012 06:35~XYZ~08/29/2012 07:45~", 
      "No Taxes", 
      "2012-08-29 06:35", 
      "2012-08-29 07:45", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 816~ ~~ABC~08/29/2012 14:55~XYZ~08/29/2012 16:05~", 
      "No Taxes", 
      "2012-08-29 14:55", 
      "2012-08-29 16:05", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 818~ ~~ABC~08/29/2012 19:50~XYZ~08/29/2012 20:55~", 
      "No Taxes", 
      "2012-08-29 19:50", 
      "2012-08-29 20:55", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ] 
    ], 
    "Thu, Aug 30|Thu|30 Aug 12": [ 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 812~ ~~ABC~08/30/2012 06:35~XYZ~08/30/2012 07:45~", 
      "No Taxes", 
      "2012-08-30 06:35", 
      "2012-08-30 07:45", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 816~ ~~ABC~08/30/2012 08:30~XYZ~08/30/2012 09:40~", 
      "No Taxes", 
      "2012-08-30 08:30", 
      "2012-08-30 09:40", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 818~ ~~ABC~08/30/2012 22:10~XYZ~08/30/2012 23:15~", 
      "No Taxes", 
      "2012-08-30 22:10", 
      "2012-08-30 23:15", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ] 
    ], 
    "Fri, Aug 31|Fri|31 Aug 12": [ 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 812~ ~~ABC~08/31/2012 06:35~XYZ~08/31/2012 07:45~", 
      "No Taxes", 
      "2012-08-31 06:35", 
      "2012-08-31 07:45", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~C~C4LOW~BND4~~1~X", 
      "FR~ 816~ ~~ABC~08/31/2012 13:20~XYZ~08/31/2012 14:30~", 
      "No Taxes", 
      "2012-08-31 13:20", 
      "2012-08-31 14:30", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 32.74 
         } 
        ] 
       } 
      ], 
      2, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~C~C4LOW~BND4~~1~X", 
      "FR~ 818~ ~~ABC~08/31/2012 19:50~XYZ~08/31/2012 20:55~", 
      "No Taxes", 
      "2012-08-31 19:50", 
      "2012-08-31 20:55", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 32.74 
         } 
        ] 
       } 
      ], 
      3, 
      0, 
      0, 
      0 
     ] 
    ], 
    "Sat, Sep 01|Sat|01 Sep 12": [ 
     [ 
      "0~C~C4LOW~BND4~~1~X", 
      "FR~ 812~ ~~ABC~09/01/2012 08:05~XYZ~09/01/2012 09:15~", 
      "No Taxes", 
      "2012-09-01 08:05", 
      "2012-09-01 09:15", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 32.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~W~W4LOW~BND4~~1~X", 
      "FR~ 818~ ~~ABC~09/01/2012 17:00~XYZ~09/01/2012 18:05~", 
      "No Taxes", 
      "2012-09-01 17:00", 
      "2012-09-01 18:05", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 11.74 
         } 
        ] 
       } 
      ], 
      2, 
      0, 
      0, 
      0 
     ] 
    ], 
    "Sun, Sep 02|Sun|02 Sep 12": [ 
     [ 
      "0~N~N16SEP~FCCG~~3~X", 
      "FR~ 812~ ~~ABC~09/02/2012 06:35~XYZ~09/02/2012 07:45~", 
      "No Taxes", 
      "2012-09-02 06:35", 
      "2012-09-02 07:45", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 9.75 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~H~H4LOW~BND4~~1~X", 
      "FR~ 816~ ~~ABC~09/02/2012 14:55~XYZ~09/02/2012 16:05~", 
      "No Taxes", 
      "2012-09-02 14:55", 
      "2012-09-02 16:05", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 23.74 
         } 
        ] 
       } 
      ], 
      1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~K~K4LOW~BND4~~1~X", 
      "FR~ 818~ ~~ABC~09/02/2012 20:25~XYZ~09/02/2012 21:30~", 
      "Regular Fare", 
      "2012-09-02 20:25", 
      "2012-09-02 21:30", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "Tax": 36, 
          "FarePrice": 33.99 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ] 
    ], 
    "Mon, Sep 03|Mon|03 Sep 12": [ 
     [ 
      "0~N~N16SEP~FCCG~~3~X", 
      "FR~ 812~ ~~ABC~09/03/2012 06:35~XYZ~09/03/2012 07:45~", 
      "No Taxes", 
      "2012-09-03 06:35", 
      "2012-09-03 07:45", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 9.75 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~A~A4LOW~BND4~~1~X", 
      "FR~ 818~ ~~ABC~09/03/2012 14:35~XYZ~09/03/2012 15:40~", 
      "No Taxes", 
      "2012-09-03 14:35", 
      "2012-09-03 15:40", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "CANX": 2, 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 17.74 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~N~N16SEP~FCCG~~3~X", 
      "FR~ 816~ ~~ABC~09/03/2012 22:55~XYZ~09/03/2012 23:59~", 
      "No Taxes", 
      "2012-09-03 22:55", 
      "2012-09-03 23:59", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 9.75 
         } 
        ] 
       } 
      ], 
      3, 
      0, 
      0, 
      0 
     ] 
    ], 
    "Tue, Sep 04|Tue|04 Sep 12": [ 
     [ 
      "0~N~N16SEP~FCCG~~3~X", 
      "FR~ 812~ ~~ABC~09/04/2012 06:35~XYZ~09/04/2012 07:45~", 
      "No Taxes", 
      "2012-09-04 06:35", 
      "2012-09-04 07:45", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 9.75 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ], 
     [ 
      "0~N~N16SEP~FCCG~~3~X", 
      "FR~ 818~ ~~ABC~09/04/2012 19:50~XYZ~09/04/2012 20:55~", 
      "No Taxes", 
      "2012-09-04 19:50", 
      "2012-09-04 20:55", 
      [ 
       { 
        "ADT": [ 
         1, 
         "0.00", 
         "0", 
         { 
          "WC": 6, 
          "ETS": 0.25, 
          "FarePrice": 9.75 
         } 
        ] 
       } 
      ], 
      -1, 
      0, 
      0, 
      0 
     ] 
    ] 
} 

}

+1

이 JSON에 포함 된 모든 값이나 그 중 일부만 알고 싶습니까? 한번 deserialized이 데이터로 무엇을 할 작정입니까? –

+0

내가 볼 수있는 한 중첩 배열로만 직렬화를 해제 할 수 있습니다. 이것을 객체로 읽으려면 배열 위치를 조회해야합니다. –

+0

이 json을 생성하는 것은 무엇입니까? 그것은 당신 자신의 응용 프로그램의 아약스 게시물입니까? 외계인이야? –

답변

2
var obj = (JObject)JsonConvert.DeserializeObject(json); 

foreach (JProperty item in obj["ABCXYZ"].Children()) 
{ 
    Console.WriteLine(item.Name); 
    foreach (var x in item) 
    { 
     foreach (var y in x) 
     { 
      Console.WriteLine("\t==> " + y[0]); 
     } 
    } 
} 

PS : 당신의 JSON 읽기 어렵다. Json Viewer은 쉽게 구조를 볼 수 있습니다.

+0

@TarbhJohnnyDick'obj.First.First' –