如何在C#中将JSON数据保存到SQL Server数据库?

2024-04-23

我正在使用 synapse pay 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\":\"[email protected] /cdn-cgi/l/email-protection\"," +
                              "\"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();
            }
        }

我的 Json 响应

"{
\"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 并将其存储在数据库中。

如果我写的有什么不对的地方请指正..


您可以使用 JSON 对象:https://msdn.microsoft.com/en-us/library/cc197957%28v=vs.95%29.aspx 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"];
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在C#中将JSON数据保存到SQL Server数据库? 的相关文章

随机推荐

  • 通过 Homebrew 安装 Vim,并支持 Python 和 Python3

    我想在 Vim 中启用 Python 自动完成功能 所以也许这不是问题 这是我观察到的 First 虚拟环境 https github com kennethreitz python guide blob master docs dev v
  • 带有关闭按钮的自定义对话框

    I want to create a custom dialog with the layout as shown in the picture The cross close button must be on the top right
  • 在 TQuery 结果集中查找记录的最快方法

    我想知道最好的 读 最快的 方法是在 Tquery SQL 语句的结果集中定位记录 到目前为止 我正在使用 TQuery Locate 如果我是对的 这是唯一可用于在结果集中搜索的语句 那么我们该如何优化呢 我有一些想法 但还没有时间在大型
  • 使用 CSS 在文本末尾添加短斜线下划线

    当您将鼠标悬停在菜单项上时 我想给它们一个很好的下划线效果 应该有一条与下划线文本宽度相同的标准实线 但在该直线的末端应该有一条短的倾斜结束线 平滑地连接到之前的直线部分 The desired effect should be like
  • 在 PyQt5 中,getOpenFileName 不会导致 Pycharm 中弹出文件选择[重复]

    这个问题在这里已经有答案了 使用教程点中的一段示例代码 我无法使用该代码打开文件对话框 我正在使用 Ubuntu MATE 16 04 python 版本 3 7 4 PyQt5 版本 5 13 1 和以下代码 import sys fro
  • 为什么 AVSampleBufferDisplayLayer 停止显示从 AVCaptureVideoDataOutput 委托获取的 CMSampleBuffers?

    我想使用 AVSampleBufferDisplayLayer 显示一些 CMSampleBuffer 但它在显示第一个示例后冻结 我从 AVCaptureVideoDataOutputSampleBuffer 委托获取样本缓冲区 void
  • magento - 无法与 PayPal 网关通信

    有什么解决办法吗 我已经在配置 gt gt 系统 gt gt 支付方式 gt gt PayPal支付解决方案中禁用了SSL验证 但还是不行 您需要禁用 SSL 验证 进入后台 系统 gt 配置 gt 付款方式 找到PayPal Expres
  • 使用 jQuery 选择数字

    在给定的 DIV 中 我希望将 SPAN 应用于所有数字 并且仅应用于它们 有没有办法用 jQuery 选择数字 jQuery 不提供本地文本选择器 但可以实现这种效果 我根据我的回答改编了这个上一个问题 https stackoverfl
  • Django 中是否有适用于 Amazon DynamoDB 的良好数据库后端? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在我的下一个 Django 项目中使用 DynamoDB 我已经找到了将会话数据存储到 Dynam
  • C# 泛型限制传播

    这个例子是实际问题的简化 但是我怎样才能编译它呢 我希望泛型约束能够传播 既然 T 是一个 TClass 并且 TClass 是一个类 为什么 T 不是一个类呢 public class MyClass
  • 变量是大小为 1 的数组吗?

    考虑一下 int main int char int variable 21 int array 1 21 using ArrayOf1Int int 1 reinterpret cast
  • 无法在 MacOS Big Sur 上安装/运行 Python 3.6.x 和 3.7.x [已关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我将 mac 操作系统升级到最新的 MacOS Big Sur 更新后我以前使用 python 3 6 x 3 7 x
  • “Alternative”中的模式匹配

    我有一个函数 它的参数进行模式匹配以生成计算StateT Maybe 可以这么说 此计算在运行时可能会失败 在这种情况下 我希望当前的模式匹配分支失败 我非常怀疑是否有可能有类似的东西 compute Int gt StateT Maybe
  • C# WebClient 使用异步并返回数据

    好吧 我在使用 DownloadDataAsync 并让它返回字节给我时遇到了问题 这是我正在使用的代码 private void button1 Click object sender EventArgs e byte bytes usi
  • HTTPS 上的 SWFUpload 无法正常工作

    当目标 servlet 侦听 HTTPS 时 我在使用 SWFUpload 上传文件时遇到问题 在 HTTP 上它工作得很好 仅当使用 FireFox 或 Opera 时才会出现此问题 在 IE 上它工作正常 没有尝试过其他浏览器 EDIT
  • 如何发出 JMS 同步请求

    我有一个 Web 应用程序 预计将从外部应用程序获取和显示数据 该外部应用程序只能通过消息传递 JMS 访问 因此 如果用户在浏览器上提交请求 则同一 HTTP 请求线程将必须与消息系统 MQ 系列 交互 以便同一请求线程可以显示从消息系统
  • 如何在 Silverlight/C# 中访问 ListBox 控件的 ScrollViewer 元素?

    我希望从 C 动态更改 Silverlight ListBox 的滚动位置 并且我需要知道如何从 C 访问 ListBox 控件的 ScrollViewer 元素 多谢你们 杰夫 在从 ListBox 类继承的类中 您可以使用 Protec
  • 区分大小写的文件系统上的 File.equals

    我有一个字符串形式的文件路径 在 Java 中 我需要确定文件系统上是否存在该文件 并且我们的代码需要跨平台 因为它在 Windows Linux 和 OS X 上运行 问题是文件路径和文件本身的大小写可能不匹配 即使它们确实代表相同的文件
  • 如何重叠两个控件

    我有一个圆和一个线控件 Circle 控件的 OnPaint 绘制一个圆 Line 控件的 OnPaint 绘制一条线 这两个控件包含在另一个控件 DrawingControl 中 我需要在圆上放置一条线 但圆的背景删除了该线 我尝试启用透
  • 如何在C#中将JSON数据保存到SQL Server数据库?

    我正在使用 synapse pay API 作为回报 我得到了一些响应 我想将该响应保存在 SQL 数据库中 我为此创建了课程 下面是获取响应的代码 var httpWebRequest HttpWebRequest WebRequest