Json operations using JSON.NET

Scenario:

Json operations using JSON.NET

Solution:

    using Newtonsoft.Json.Linq;
    using System;
    
    namespace ConsoleApplication1
    {
        class User
        {
            public string ModifiedBy { get; set; }
            public Role[] Roles { get; set; }
    
            public DateTime CreatedDate { get; set; }
        }
    
        class Role
        {
            public string Name { get; set; }
        }
    
        class DynamicJson
        {
            static async Task Main(string[] args)
    
            {
                //CreateDynamicJason();
    
                var data = @"{""CreatedDate"":""2020-07-14T16:03:47.0182203-07:00"",
                              ""ModifiedBy"":""Test User"",
                              ""Roles"": [
                                            {
                                                ""Name"":""Manager""
                                            },
                                            {
                                                ""Name"":""Coordinator""
                                            }
                                         ]
                             }";
                //ReadDynamicJason(data);
    
                ReadDynamicJasonToObject(data);
            }
    
            public static void CreateDynamicJason()
            {
                var jObj = new JObject();
    
                jObj.Add("CreatedDate", DateTime.Now);
    
                dynamic users = jObj;
    
                users.ModifiedBy = "Test User";
    
                users.Roles = new JArray() as dynamic;
    
                dynamic role = new JObject();
                role.Name = "Manager";
                users.Roles.Add(role);
    
                role = new JObject();
                role.Name = "Coordinator";
                users.Roles.Add(role);
    
                Console.WriteLine(users.ToString());
    
                Console.ReadLine();
            }
    
            public static void ReadDynamicJason(string data)
            {
                dynamic json = JValue.Parse(data);
    
                string user = json.ModifiedBy;
                DateTime createdDate = json.CreatedDate;
    
                //JArray jarray = JArray.Parse(json.Roles) as JArray;
                //dynamic roles = jarray;
                string role = string.Empty;
    
                foreach (dynamic r in json.Roles)
                {
                    role = role + r.Name.ToString() + ",";
                }
    
                Console.WriteLine($"{user} - {role} - {createdDate}");
    
                Console.ReadLine();
            }
    
            public static void ReadDynamicJasonToObject(string data)
            {
                dynamic users = JValue.Parse(data);
    
                //JArray users = JArray.Parse(data) as JArray;
    
                var userInfo = users.ToObject<User>();
    
                string user = userInfo.ModifiedBy;
                DateTime createdDate = userInfo.CreatedDate;
    
                //JArray jarray = JArray.Parse(json.Roles) as JArray;
                //dynamic roles = jarray;
                string role = string.Empty;
    
                foreach (dynamic r in userInfo.Roles)
                {
                    role = role + r.Name.ToString() + ",";
                }
    
                Console.WriteLine($"{user} - {role} - {createdDate}");
    
                Console.ReadLine();
            }
        }
    }

No comments:

Post a Comment

Move Github Sub Repository back to main repo

 -- delete .gitmodules git rm --cached MyProject/Core git commit -m 'Remove myproject_core submodule' rm -rf MyProject/Core git remo...