如何用c#将JSON数据保存到SQL server数据库

本文关键字:SQL server 数据库 保存 数据 何用 JSON | 更新日期: 2023-09-27 17:52:37

我正在使用突触支付API,作为回报,我得到了一些响应。我想将响应保存在SQL数据库中。

我已经为此创建了类。

下面是获取响应 的代码
 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'":'"aaaanikuaaaanjaa@synapsepay.com'"," +
                              "'"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'
"}"

我的external_account表

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; }
        }
    }
使用上面的类,我已经创建了我的表。我是c#的新手,有人能告诉我如何解析json和存储在数据库中。如果我写错了什么,请纠正我。

如何用c#将JSON数据保存到SQL server数据库

你可以使用JSON对象:https://msdn.microsoft.com/en-us/library/cc197957%28v=vs.95%29.aspx

这将简化您正在进行的编码工作。


在接收JSON消息的方法上,可以按如下方式映射数据:

var externalAccount = new ExternalAccount();
var receivedResponse  = (JsonObject)JsonObject.Load(responseStream);
externalAccount.ExternalAccountId = receivedResponse["ExternalAccountId"];
externalAccount.Name = receivedResponse["Name"];
...