Json的大小写问题

时间:2025-02-16 12:23:56
[TestClass]     public class JsonTest     {         internal class JsonClass         {             [JsonProperty("errcode")]             public int ErrCode { getset; }             [JsonProperty("errmsg")]             public string ErrMsg { getset; }         }         [TestMethod]         public void TestMethod1()         {             var js = new JavaScriptSerializer();             var jsonCls1 = new JsonClass { ErrCode = 0, ErrMsg = "ok" };             var jsonStr1 = js.Serialize(jsonCls1);             var jsonStr2 = JsonConvert.SerializeObject(jsonCls1);             //生成的JSON后面不会有个逗号             //JsonProperty对JavaScriptSerializer无效             Assert.AreEqual(jsonStr1, "{\"ErrCode\":0,\"ErrMsg\":\"ok\"}");             Assert.AreNotEqual(jsonStr1, "{\"ErrCode\":0,\"ErrMsg\":\"ok\",}");             Assert.AreEqual(jsonStr2, "{\"errcode\":0,\"errmsg\":\"ok\"}");             Assert.AreNotEqual(jsonStr2, "{\"errcode\":0,\"errmsg\":\"ok\",}");             const string jsonStr = "{\"errcode\":0,\"errmsg\":\"ok\",}";             var jsonCls = JsonConvert.DeserializeObject<JsonClass>(jsonStr);             Assert.IsNotNull(jsonCls);             Assert.AreEqual(jsonCls.ErrCode,0);             try             {                 jsonCls = js.Deserialize<JsonClass>(jsonStr);                 Assert.IsNotNull(jsonCls);             }             catch (ArgumentException)             {                 Assert.Fail("无效的 JSON 基元");             }         }     }