2009-03-24 4 views
2

다음 클래스 구조가 있습니다.Json 가져 오기 실패 - C#

public class AreaFields 
{ 
    public List<Fields> Fields { set; get; } 
} 

public class Fields 
{ 
    public string Name { set; get; } 
    public string Value {set; get; } 
} 

xxxx를 사용하여 Json으로 내보낼 때 모든 것이 정상적으로 작동합니다. 문제는 AreaField 목록으로 다시 가져 오려고 시도하면 네이티브 가져 오기가 실패합니다. 내가 뭘 하려는지

Jayrock.Json.Conversion.JsonConvert.Import(strJson) 

어쩌면 가져 오기 방법을 재정의 할 수있는 방법이 있습니까?

편집 : 예, jayrock는 객체의 유형을 알고 있습니다. 내 생각에 그것은 목록을 연재하는 나와 함께 뭔가를해야만한다.

Export - 
List<AreaField> list = GetAListOfAreaFields(); 
string sJson = Jayrock.Json.Conversion.JsonConvert.ExportToString(list) 

Import - 
List<AreaField> list = (AreaField)JsonConvert.Import(typeof(AreaField, sJson); 

예외 - JSON Array 값에서 AreaField를 가져올 수 없습니다.

답변

0

"작동하지 않습니다."좋은 시작이 아닙니다. 예외? 잘못된 데이터입니까? 제이 록이 물건의 종류를 알고 있습니까? 당신이 List<AreaField>을 수출하지만 AreaField (단수)을 가져올 시도하는 것처럼

AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson); 
1

것 같습니다. 시도 :

List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson); 
0

목록 <>는 작동하지 않지만 배열이 작동합니다. 좋아요 :

AreaField[] list = JsonConvert.Import<AreaField[]>(sJson);