예제 #1
0
        public void ShouldSerializeContractResolverTest()
        {
            Newtonsoft.Json.Tests.Documentation.Employee joe = new Newtonsoft.Json.Tests.Documentation.Employee();
            joe.Name = "Joe Employee";
            Newtonsoft.Json.Tests.Documentation.Employee mike = new Newtonsoft.Json.Tests.Documentation.Employee();
            mike.Name = "Mike Manager";

            joe.Manager  = mike;
            mike.Manager = mike;

            string json = JsonConvert.SerializeObject(
                new[] { joe, mike },
                Formatting.Indented,
                new JsonSerializerSettings
            {
                ContractResolver = ShouldSerializeContractResolver.Instance
            });

            StringAssert.AreEqual(@"[
  {
    ""Name"": ""Joe Employee"",
    ""Manager"": {
      ""Name"": ""Mike Manager""
    }
  },
  {
    ""Name"": ""Mike Manager""
  }
]", json);
        }
        public void ShouldSerializeContractResolverTest()
        {
            Newtonsoft.Json.Tests.Documentation.Employee joe = new Newtonsoft.Json.Tests.Documentation.Employee();
            joe.Name = "Joe Employee";
            Newtonsoft.Json.Tests.Documentation.Employee mike = new Newtonsoft.Json.Tests.Documentation.Employee();
            mike.Name = "Mike Manager";

            joe.Manager = mike;
            mike.Manager = mike;

            string json = JsonConvert.SerializeObject(
                new[] { joe, mike },
                Formatting.Indented,
                new JsonSerializerSettings
                {
                    ContractResolver = ShouldSerializeContractResolver.Instance
                });

            StringAssert.AreEqual(@"[
  {
    ""Name"": ""Joe Employee"",
    ""Manager"": {
      ""Name"": ""Mike Manager""
    }
  },
  {
    ""Name"": ""Mike Manager""
  }
]", json);
        }