c# - 如何将 REST API 中的数据导入 SQL Server?
问题描述
我有一个 REST API,它返回 JSON 格式的响应,如下所示:
{
"Employees" : [
{
"userId":"romin",
"jobTitleName":"Developer",
"emailAddress":"romin.k.irani@gmail.com"
},
{
"userId":"nirani",
"jobTitleName":"Developer",
"emailAddress":"neilrirani@gmail.com"
},
{
"userId":"tomhan",
"jobTitleName":"Program Directory",
"emailAddress":"tomhanks@gmail.com"
}
]
}
是否有任何内置函数可以帮助从上面的 JSON 在 SQL Server 数据库中创建表“Employees”?
+--------+-------------------+-------------------------+
| UserId | jobTitleName | emailAddress |
+--------+-------------------+-------------------------+
| romin | Developer | romin.k.irani@gmail.com |
| nirani | Developer | neilrirani@gmail.com |
| tomhan | Program Directory | tomhanks@gmail.com |
+--------+-------------------+-------------------------+
解决方案
首先根据您的 JSON 创建 C# 类
using System;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public partial class Welcome
{
[JsonProperty("Employees")]
public Employee[] Employees { get; set; }
}
public partial class Employee
{
[JsonProperty("userId")]
public string UserId { get; set; }
[JsonProperty("jobTitleName")]
public string JobTitleName { get; set; }
[JsonProperty("emailAddress")]
public string EmailAddress { get; set; }
}
var JSONObj= JsonConvert.DeserializeObject<Welcome>(json); //convert you json in to class object
var EmpArray=JSONObj["Employees"]; // will give you employee array
//现在您可以在那里进行迭代以插入数据