2014-12-17 6 views
1

View Model 속성을 사용하여 데이터를 JSON Java 스크립트로 전달하는 데 사용하고 있습니다.C에서 동적으로 허용/거부 속성 #

public string Property1 { get; set; } //deny for user1 
public string Property2{ get; set; } //denyfor user2 
public string Property3{ get; set; }  

지금 나는 내가 속성 매핑 및 UI

+0

Json.NET은 사용자 시나리오에 맞지 않을 수도 있지만 조건부 속성 직렬화를 허용합니다. 원본 개체를 복제하고 허용 된 속성 만 복사 한 다음 결과를 serialize 할 수 있습니다. 사용 권한은 어떻게 결정됩니까? –

+0

예 JsonIgnore 특성을 찾았습니다. 내 요구 사항에 따라 사용자 지정을하고 사용 권한에 대해 사용자 및 모듈과 함께 제공되면 필요 여부를 알려주는 사용 권한 서비스가 있습니다. –

+0

사용자 지정 방법을 얻을 수 있다면 도움이 될 것입니다. JsonIgnore 속성 –

답변

0

어떻게 권한 부여 규칙을 확인하는 사용자 정의 게터 약에 표시 할 수 denyor 할 사용자에 따라 다양한 유형의 사용자를 가지고 있고, null를 돌려줍니다 승인이 실패하면? 그런 다음 널 (null)을 직렬화하지 않도록 serializer를 설정할 수 있습니다.

JsonSerializer serializer = new JsonSerializer { NullValueHandling = NullValueHandling.Ignore }; 

private string _property1; 
public string Property1 
{ 
    get 
    { 
     if(getcurrentuser.isauthorizedforproperty1) 
     { 
      return _property1; 
     } 
     else 
     { 
      return null; 
     } 
    } 
    set 
    { 
     _property1 = value; 
    } 
} 
+1

Json.NET에서 이미 제공합니다. –

+0

아, 맞습니다. 참으로 그렇습니다. MS JavaScriptSerializer와 같은 기능이없는 다른 시리얼 라이저를 사용하여이 페이지를 우연히 발견하는 경우를 대비하여 여기에 남겨 두겠습니다. – Brad