は私のコードです:コンソールで私のカスタムタイプのシリアライズ/デシリアライズを強制するには?ここ
void Main()
{
var test = new Order()
{
Id = Guid.NewGuid(),
Title = "Test",
Code = new Code("O-123456789") // TODO create a Code.NewCode() later
};
var line = Newtonsoft.Json.JsonConvert.SerializeObject(test).ToString();
Console.WriteLine(line);
}
// Define other methods and classes here
public class Order
{
public Guid Id { get; set; }
public Code Code { get; set; }
public string Title { get; set; }
}
public class Code
{
public string code;
public Code(string code)
{
this.code = code;
}
}
私はこの結果を得る:
{"Id":"227599fe-c834-4330-84e5-2018abe59e35","Code":{"code":"O-123456789"},"Title":"Test"}
をしかし、私はこれ欲しい:
{"Id":"227599fe-c834-4330-84e5-2018abe59e35","Code":"O-123456789","Title":"Test"}
を、どのように私が私のコードの種類を強制することができます私が望むようにシリアル化する。実際、Guid()の同じ動作が必要です。または、String()を実装する方法を見つけてください。これで私を助けてくれますか?
私はおそらくJSONのシリアル化を強制するために、いくつかの属性を使用することができますが、私はまさにのGUID(のようなすべてのシリアル化のために働く何かをしたいと思います知っている)
Json.Netは、Guidの.Netプリミティブをフードの下の文字列(JSONプリミティブ)に変換します。 https://www.newtonsoft.com/json/help/html/SerializationGuide.htm –