2012-11-08 5 views
0

json 웹 서비스에서 바이트 배열에 대해 null 값을 얻었습니다 (브라우저에서 호출 할 때 deserializing이 발생하지만 바이트 배열을 반환 함). C# 코드 : 내가 food_photo는 null있어에서목록에서 json 바이트 배열 가져 오기

var url = re.DownloadString("XXXX/ListService.svc/lstFooddtl/1/21"); 

var a = JsonConvert.DeserializeObject<FooddtlResult>(url); 

... 내가 역 직렬화 ... C# 클래스 :

public class photo 
    { 
     public byte[] food_photo { get; set; } 

    } 
public class Food 
{ 
    public int food_id { get; set; } 
    public string food_name { get; set; } 
    public photo[] food_photo { get; set; } 
    public string unitcost { get; set; } 
} 
public class FooddtlResult 
{ 
    public Food[] Result { get; set; } 
} 
{"Result":[{"food_id":"61","food_name":"Idli","food_photo":[255,216,255,224,0,....217],"unitcost":null}]} 

답변

0

모델이 JSON과 일치하지 않습니다. 올바른 직렬화를 들어

public class Food 
{ 
    public int food_id { get; set; } 
    public string food_name { get; set; } 
    public byte[] food_photo { get; set; } 
    public string unitcost { get; set; } 
} 

Food 클래스를 변경하고 photo 클래스를 제거합니다. 당신이 모델 구조를 유지하려는 경우

그렇지 않으면, 다음, 올바른 JSON이되어야합니다! UR rply에 대한

{"Result":[{"food_id":"61","food_name":"Idli","food_photo":[{"food_photo":[255,216,255,224,0,....217]},{"food_photo":[255,...]},...],"unitcost":null}]} 
+0

덕분에 변화하는 음식 클래스는 다시 난 내 food_photo 목록에 널 (null) 도착 후 ... – Narasi

+0

나는 어떤이 없습니다 권리는 json 구조를 바꿉니다 ... 저는 제 모델 구조를 변경하는 옵션 만 있습니다. – Narasi

관련 문제