Я просмотрел документы, StackOverflow и т.д., похоже, не может найти этого...
Я хочу сделать сериализацию/десериализацию простого объекта типа значения как значения, а не объекта:
public class IPAddress
{
byte[] bytes;
public override string ToString() {... etc.
}
public class SomeOuterObject
{
string stringValue;
IPAddress ipValue;
}
IPAddress ip = new IPAddress("192.168.1.2");
var obj = new SomeOuterObject() {stringValue = "Some String", ipValue = ip};
string json = JsonConverter.SerializeObject(obj);
Я хочу, чтобы json сериализовался следующим образом:
// json = {"someString":"Some String","ipValue":"192.168.1.2"} <- value serialized as value, not subobject
Не где ip становится вложенным объектом, ex:
// json = {"someString":"Some String","ipValue":{"value":"192.168.1.2"}}
Кто-нибудь знает, как это сделать? Благодарю! (P.S. Я закрепил сериализацию Json на большой волосатой старой кодовой базе .NET, поэтому я не могу реально изменить какие-либо существующие типы, но я могу расширять/множиться/украшать их, чтобы облегчить сериализацию Json.)