How to Save JSON data to SQL server database in C#?

14,283

You can work with JSON Object: https://msdn.microsoft.com/en-us/library/cc197957%28v=vs.95%29.aspx

That will simplify the coding work that you're having.


On the method that you receive the JSON message, you can map the data as below:

var externalAccount = new ExternalAccount();
var receivedResponse  = (JsonObject)JsonObject.Load(responseStream);
externalAccount.ExternalAccountId = receivedResponse["ExternalAccountId"];
externalAccount.Name = receivedResponse["Name"];
...
Share:
14,283
nikunjM
Author by

nikunjM

Updated on June 28, 2022

Comments

  • nikunjM
    nikunjM almost 2 years

    I am using synapse pay API and in return I am getting some response. I want to save that response in SQL database.

    I have created classes for that.

    Below is code for getting response

     var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://sandbox.synapsepay.com/api/v2/user/create");
                httpWebRequest.ContentType = "application/json";
                httpWebRequest.Method = "POST";
    
                using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    string json = "{\"email\":\"[email protected]\"," +
                                  "\"fullname\":\"nik\"," +
                                  "\"phonenumber\":\"111\"," +
                                  "\"ip_address\":\"1.1.1.1.1\"," +
                                  "\"password\":\"123123123\"," +
                                  "\"client_id\":\"1111111111111111\"," +
                                  "\"client_secret\":\"2222222222222222222\"}";
    
                    streamWriter.Write(json);
                    streamWriter.Flush();
                    streamWriter.Close();
                }
    
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var result = streamReader.ReadToEnd();
                }
            }
    

    My Json Response

    "{
    \"expires_at\": \"1438381449\", 
    \"expires_in\": \"5184000\", 
    \"oauth_consumer_key\": \"tDOIKwdgJzSzbCQdpo9FGNCBV6cSDTAlJqdtBHg3\", \"refresh_token\": \"HxJWdwgrNchJHn5zviAO7nd141ALYXmSbNmuG5ZF\",
    \"success\": true,
    \"user_id\": 10212,
    \"username\": \"1433197449c2630fc917ef4d2b846f\
    "}"
    

    This is my external_account table

    public partial class ExternalAccount
        {
            public ExternalAccount()
               {
                    this.UserProfileExternalAccount = new HashSet<UserProfileExternalAccount>();
                }
    
                public int ExternalAccountId { get; set; }
                public string Name { get; set; }
                public string Description { get; set; }
                public string ExternalId { get; set; }
                public string oAuthToken { get; set; }
                public string oAuthTokenSecret { get; set; }
                public string oAuthKey { get; set; }
                public string oAuthSecret { get; set; }
                public string Username { get; set; }
                public string ClientId { get; set; }
                public string ClientSecret { get; set; }
                public string RefreshToken { get; set; }
                public string oAuthConsumerKey { get; set; }
                public bool IsActive { get; set; }
                public System.DateTime WhenAdded { get; set; }
                public System.DateTime WhenUpdated { get; set; }
                public string AddedBy { get; set; }
                public string UpdatedBy { get; set; }
                public int type_ExternalAccountStatusId { get; set; }
    
                public virtual type_ExternalAccountStatus type_ExternalAccountStatus { get; set; }
                public virtual ICollection<UserProfileExternalAccount> UserProfileExternalAccount { get; set; }
            }
        }
    

    Using above class i have created my table.. I am new to C#, can someone tell me how to parse json and store in database.

    If i have written something wrong please correct me..

  • Thiago Avelino
    Thiago Avelino almost 9 years
    I've added more info on the answer, I believe that's what you're looking for.