我是编程的初学者,最近学习并使用http uri获取数据,然后使用SSIS中的C#从流中解析json字符串,并能够将数据加载到sql server数据库中。
以下是我使用的示例代码..
System.Uri uri = new Uri("API URL");
WebRequest webRequest = HttpWebRequest.Create(uri);
HttpWebRequest httpWebRequest = (HttpWebRequest)webRequest;
NetworkCredential networkCredential = new NetworkCredential("LOGIN","Password");
credentialCache.Add(uri,"Basic",networkCredential);
WebResponse webResponse = webRequest.GetResponse();
...
但是我正在尝试为另一个使用POST方法的api设置相同类型的连接。
查询看起来像.. URL + JSON API查询,类似于..
{"JSON" : {
"name": "Dataset",
"ColumnSelect": ["Name","Age","Email"],
"sort":["Name"],
"filterList": [
{
"Attribute": "Age",
"Operator": ">",
"Value": ["25"]
}],"returnObject"
我不知道如何使用它来查询数据并将数据加载到sql,如http请求。有人可以告诉我正确的方向来实现这一目标。谢谢你的帮助。
答案 0 :(得分:0)
我不确定您的方案是什么,但据我所知,您正在尝试从某个服务器获取数据,并将数据存储在您的数据库中。
您已经使用HTTP GET实现了它,但这次您需要使用POST。
与GET和POST的基本区别在于,GET用于查询现有数据,但在POST中,您正在向服务器提供内容。 (当然还有更多差异,请查看此链接:https://www.w3schools.com/tags/ref_httpmethods.asp)
这可以轻松完成:
根据您发布的JSON:
为传入的响应字符串创建类public class JSON
{
public string name { get; set; }
public string[] ColumnSelect { get; set; }
public string[] sort { get; set; }
public filterList filterList { get; set; }
}
public class filterList
{
public string Attribute { get; set; }
public string Operator { get; set; }
public string[] Value { get; set; }
}
当你有响应字符串(字符串化JSON)时,通过JSON.NET反序列化它。
如果您需要有关任何步骤的建议,我可以编辑我的答案。