/ / asp web api json serializacja zwraca właściwości prywatne - json, serializacja, asp.net-web-api, wsdl

asp web api json serializacja zwraca prywatne właściwości - json, serializacja, asp.net-web-api, wsdl

Mam klasę kontrolera Web api i wywołuje metodę klasy pośredniczącej generowane z WSDL z kontrolera api, i zwracam obiekt typu zdefiniowany w klasie proxy WSDL.

ale zwracane xml / json zawiera prywatnych członków klasy proxy

prywatni członkowie są

    private string companyField;

private string soldBPField;

private string fromDateField;

private string toDateField;

private long succStatusField;

a zwróconym xml jest:

<companyField>700</companyField>
<soldBPField>999000353</soldBPField>
<fromDateField>01-01-2012</fromDateField>
<toDateField>01-01-2013</toDateField>

zwrócony json jest również podobny

Zmieniłem formatator xml w pliku global.asax w następujący sposób:

var xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
xml.UseXmlSerializer = true;

to zmieniło kod XML, który powrócił do:

<company>700</company>
<soldBP>999000353</soldBP>
<fromDateField>01-01-2012</fromDate>
<toDate>01-01-2013</toDate>

ale json wrócił nadal zawiera nazwy zmiennych prywatnych

Czy ktoś może mi w tym pomóc?

Odpowiedzi:

13 dla odpowiedzi nr 1

Czy Twoje typy są oznaczone jako [Serializable]? Serializowalny oznacza, że ​​serializer powinien serializować wszystkie pola - prywatne lub publiczne. Spróbuj usunąć Serializable lub użyj tej linii, aby zatrzymać procesor JSON rozpoznawania atrybutu:

config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver();