У меня есть пользовательские классы типов данных, которые я хочу преобразовать в .NET в JSON (а позже также обратно в CustomDataType).
Я знаю, что классы без какого-либо специального определения будут преобразованы в объекты, просто путем сериализации всех общедоступных свойств. Но это не то, что мне нужно.
Предположим, что у меня есть класс
public class MyString : System.Object {
private string myString;
public MyString(string str) {
this.myString = str;
}
public override bool Equals(System.Object obj)
public override int GetHashCode()
public string ToString() {
return "!!!"+myString+"!!!";
}
}
Теперь, если я использую этот тип в своем ApiController
public class MyItem {
public MyString someStr;
}
public class MyApiController : ApiController {
[HttpGet]
public MyItem MyApi() {
MyItem item = new MyItem();
item.someStr = new MyString("I have a dream");
return item;
}
}
я получил
{"someStr":{}}
но я могу захотеть получить
{"someStr":"!!!I have a dream!!!"}
or
{"someStr":{"words":4,"chars":11,"length":14}}
без фактического раскрытия каких-либо свойств как общедоступных.
Как бы я этого добился?
Object
?????? - person Matías Fidemraizer   schedule 17.09.2014