2012-10-22 2 views
0

JavaScriptSerializer를 사용하여 JSON으로 변환하는 객체가 있습니다. 내가 MVC를 사용하고 있으므로보기에서 JavaScriptSerializer을 사용하고 있습니다 :JSON 직렬화를 위해 객체에서 자식을 제거합니다.

@Html.Raw(serializer.Serialize(Model.Designs) 

내 "디자인"개체 아이들 "DesignDeliveries"을 가지고 있지만 내가 프로젝션을 사용하려고했습니다 있도록 JSON 문자열에서 이들을 제거해야 다음하지만 그래서 내 디자인 개체 내가

을 필요로하는 형식을 얻을 수없는 것은 같이

[{ 
"BookingDesignId": "e90e9500-0a6a-4d1b-a82a-fa7ca2d7c034", 
"DesignName": "Design 600", 
"Quantity": 100, 
"DesignDeliveries": [{ 
    "BookingId": "3706a896-3b8f-454f-acc8-6540441a3e4a", 
    "Quantity": 50, 
    "BookingDesignId": "e90e9500-0a6a-4d1b-a82a-fa7ca2d7c034", 
    "DepotId": "9" 
}, 
{ 
    "BookingId": "3706a896-3b8f-454f-acc8-6540441a3e4a", 
    "Quantity": 50, 
    "BookingDesignId": "e90e9500-0a6a-4d1b-a82a-fa7ca2d7c034", 
    "DepotId": "18" 
}] 
}]; 

을 그러나, 나는이 필요합니다

[{ 
"BookingDesignId": "e90e9500-0a6a-4d1b-a82a-fa7ca2d7c034", 
"DesignName": "Design 600", 
"Quantity": 100, 
"DesignDeliveries": []; 

아무도 이것을 달성하는 방법을 알고 있습니까? 사전

+0

비어 있어야합니까, 아니면 전혀 직렬화 할 수 없습니까? – Nathan

+0

안녕하세요 Nathan ... 답장을 보내 주셔서 감사합니다. 비어 있어야합니다. 난 녹아웃 js viewmodel을 만드는 데 사용하고 있습니다. Madman의 답변은 아래에서 작동합니다. 나는 Clear()를 사용했지만 작동하지 않는 익명의 타입으로 투영했을 때 시도했다. – ledragon

답변

1

복제 Model.Designs에서

덕분에, DesignDeliveries의 컬렉션을 지우고 다시 복제 디자인을 직렬화.

+0

고마운 Madman ... 그 치료법을 작동 ... 그냥 지금 복제하는 가장 좋은 방법을 알아 내야 해!. – ledragon

+0

여기에 객체 복제를위한 좋은 해결책이 있습니다. http://stackoverflow.com/questions/129389/how-do-you-do-a-deep-copy-an-object-in-net-c-specifically – Madman

관련 문제