//[TestMethod] public void QueryMembers() { var jtest = new JTest { Payload = new JTest() }; var json = JsonConvert.SerializeObject(jtest); dynamic jdynamic = new JDynamic(json); var jmembers = jtest.GetMembers(); foreach (var info in jmembers) { var jvalue = info.GetValue(jtest); var dvalue = jdynamic[info.Name]; switch (jvalue) { case JTest jt: { Compare(jdynamic.Payload, jt); break; } default: { Assert.AreEqual(jvalue, dvalue); break; } } } }
public void Simple() { dynamic json = new JDynamic("{a:1}"); Stopwatch sw = new Stopwatch(); sw.Start(); int a = 0; a = json.a; sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); sw.Reset(); sw.Restart(); for (int i = 0; i < 1000000; i++) { a = json.a; } sw.Stop(); Console.WriteLine(a + "---------------"); Console.WriteLine(sw.ElapsedMilliseconds); Assert.IsTrue(sw.ElapsedMilliseconds < 1000); sw.Reset(); sw.Restart(); var obj = new { a = 1 }; for (int i = 0; i < 1000000; i++) { a = obj.a; } sw.Stop(); Console.WriteLine(a + "---------------"); Console.WriteLine(sw.ElapsedMilliseconds); }
public void Alteration() { var jtest = new JTest { Payload = new JTest() }; var json = JsonConvert.SerializeObject(jtest); dynamic jdynamic = new JDynamic(json); Compare(jdynamic, jtest); jdynamic.String = jtest.String = jtest.String.ToLower(); //jdynamic.Short = ++jtest.Short; //jdynamic.UShort = ++jtest.UShort; jdynamic.Int = ++jtest.Int; //jdynamic.UInt = ++jtest.UInt; //jdynamic.Long = ++jtest.Long; jdynamic.Decimal = ++jtest.Decimal; jdynamic.Guid = jtest.Guid = Guid.NewGuid(); jdynamic.DateTime = jtest.DateTime = DateTime.Now; jdynamic.DateTimeOffset = jtest.DateTimeOffset = DateTimeOffset.Now; jdynamic.Payload = jtest.Payload = new JTest(jtest); Compare(jdynamic, jtest); }
public void SimpleArray() { dynamic json = new JDynamic("[1,2,3]"); Assert.AreEqual(3, json.Length); Assert.AreEqual(1, json[0]); Assert.AreEqual(3, json[2]); }
public void MemberArray() { dynamic json = new JDynamic("{a:[1,2,3]}"); Assert.AreEqual(3, json.a.Length); Assert.AreEqual(1, json.a[0]); Assert.AreEqual(3, json.a[2]); }
public void TestDateTimeSupport() { var obj = new { a = DateTime.Now }; var json = new JDynamic(obj).ToString(); dynamic des = new JDynamic(json); Assert.AreEqual(obj.a.ToString(), des.a.ToString()); }
public void ArrayMember() { dynamic json = new JDynamic("{a:[-1,2,-3]}"); Assert.AreEqual(-1, json.a[0]); Assert.AreEqual(2, json.a[1]); Assert.AreEqual(-3, json.a[2]); }
public void ArrayObject() { dynamic json = new JDynamic("[{b:1},{c:1}]"); Assert.AreEqual(2, json.Length); Assert.AreEqual(1, json[0].b); Assert.AreEqual(1, json[1].c); Assert.AreEqual(1, json[1]["c"]); }
public void Construction() { var jtest = new JTest { Payload = new JTest() }; var json = JsonConvert.SerializeObject(jtest); dynamic jdynamic = new JDynamic(json); Compare(jdynamic, jtest); }
public void ListMembers() { var jtest = new JTest { Payload = new JTest() }; var json = JsonConvert.SerializeObject(jtest); dynamic jdynamic = new JDynamic(json); var jmembers = jtest.GetMemberNames(); var dmembers = jdynamic.GetDynamicMemberNames(); Assert.IsTrue(Enumerable.SequenceEqual(jmembers, dmembers)); }
public static void Main(string[] arguments) { var writer = Console.Out; var x = SyncfusionLicenseProvider.ValidateLicense(Platform.WPF, out string xs); var t = new DateTime(2020, 6, 25); t = DateTime.SpecifyKind(t, DateTimeKind.Utc); var s = new SourceClass { Name = "Ramayasket", Value = 8052, Payload = new byte[] { 1, 2, 4, 8 }, Child = null, }; var s1 = s.Child = new SourceClass { Name = "\\Child of Ramayasket", Value = 80052, //Payload = new byte[] { 1, 2, 4, 8 }, Payload = t, Child = null, }; var js = JsonConvert.SerializeObject(s); dynamic jd = new JDynamic(js); //jd.Payload = double.NaN; //var jdp = jd.Payload; var jdc = jd.Child; jdc = jd["Child"]; jd["Payload"] = 80053; var jdp = jd.Payload; var jdps = jd.GetDynamicMemberNames(); var jdcps = jdc.GetDynamicMemberNames(); //var jdn1 = jd.Name1; var jdcc = jdc.Child; var jds = jd.ToString(); }
public void Complex() { dynamic json = new JDynamic("{a:{b:{c:1}}}"); Stopwatch sw = new Stopwatch(); sw.Start(); int a = 0; a = json.a.b.c; sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); sw.Reset(); sw.Restart(); for (int i = 0; i < 1000000; i++) { a = json.a.b.c; } sw.Stop(); Console.WriteLine(a + "---------------"); Console.WriteLine(sw.ElapsedMilliseconds); }
public List <User> getUserList() { List <User> userList = new List <User>(); var req = WebRequest.Create(Server.ApiUrl + "/users/list/" + SecurityModel.getInstance().AuthenticatedUser.UserId); req.Method = "GET"; var resp = (HttpWebResponse)req.GetResponse(); using (var reader = new StreamReader(resp.GetResponseStream())) { var userData = reader.ReadToEnd(); dynamic userApiModel = new JDynamic(userData); if (userApiModel.state == 0) { foreach (dynamic o in userApiModel.list) { User user = new User(); user.Authority = formatUserRoleToAuthority(o.userRole); user.UserId = o.userId; user.UserName = o.name; user.EmailAddress = o.emailAddress; user.JoinedProjects = getJoinedProjectsByUser(user.UserId); user.InvitedProjects = getInvitedProjectsByUser(user.UserId); user.Issues = getIssuesByUser(user.UserId); userList.Add(user); } } else { userList = null; } } return(userList); }
public void SimpleMember() { dynamic json = new JDynamic("{a:1}"); Assert.AreEqual(1, json.a); }
public void InnerMember() { dynamic json = new JDynamic("{a:{a:1}}"); Assert.AreEqual(1, json.a.a); }
public void StringIndex() { dynamic json = new JDynamic("{a:{a:1}}"); Assert.AreEqual(1, json["a"]["a"]); }
public void SelfDouble() { dynamic json = new JDynamic("1.1"); Assert.AreEqual(1.1, json.Value); }
public void StringMember() { dynamic json = new JDynamic("{a:'abc'}"); Assert.AreEqual("abc", json.a); }
public void DoubleMember2() { dynamic json = new JDynamic("{a:-3.1416}"); Assert.AreEqual(-3.1416, json.a); }
public void IntMember() { dynamic json = new JDynamic("{a:-1}"); Assert.AreEqual(-1, json.a); }