저는 Json을 사용하여 서버와 통신하는 C# 응용 프로그램을 보유하고 있습니다.xsd 또는 xsd2code를 사용하여 지정된 접미어로 필드 및 속성 생성을 무시하는 방법
서버 팀이 xsd2code를 사용하여 C# 클래스를 생성하는 데 사용한 xsd를 제공했습니다.
xsd의 각 필드에 대해 xsd2code는 생성 된 C# 클래스에 2 개의 필드를 만듭니다. 하나는 xsd에있는 것과 같은 이름이고 다른 하나는 "Specified"라는 접미사가 붙은 이름입니다. 예를 들어
: 여기 내 XSD 여기
<xsd:element name="depth" type="xsd:int" minOccurs="0"/>
가 발생 해당 필드를의에서 XML입니다.
private int depthField;
private bool depthFieldSpecified;
public int depth {
get {
return this.depthField;
}
set {
this.depthField = value;
}
}
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool depthSpecified {
get {
return this.depthFieldSpecified;
}
set {
this.depthFieldSpecified = value;
}
}
"지정"접미사 분야를 입지 않도록하는 방법이 있나요? 객체를 json 문자열로 다시 직렬화하려고하면 문제가 발생하기 때문에이를 제거해야합니다. depthField 속성을 채웠지 만 기본적으로 false가 될 depthFieldSpecified 부울을보고 직렬화하지는 않습니다.
누군가 올바른 방향으로 나를 가리킬 수 있다면 기쁠 것입니다. 미리 감사드립니다.
답변 해 주셔서 감사합니다. 나는 한 가지 더 질문을했다. JSON 직렬화 및 직렬화 해제 만 사용합니다. 그런 다음 "Specified"접미사가 붙은 모든 필드와 속성을 아무 문제없이 안전하게 제거 할 수 있습니까? – vivekp
링크 된 기사를 읽으십시오. XML에 따라 nullable이 될 수있는'int'를 예로 사용하는 것이 필요합니다. 대신 int를 사용할 수 있습니다. 그렇다면'Specified' 속성은 필요 없습니다. –
"Specified"접미사가 붙은 모든 필드와 속성을 제거한 json serialization 및 deserialization에 대한 또 다른 질문을 만들었습니다. 그 질문은 http://stackoverflow.com/questions/25607237/can-i-safely-remove-the-fields-and-properties-with-the-suffix-specified-in-my-c에서 찾을 수 있습니다. – vivekp