2017-12-03 12 views
-1

私はプログラミングの初心者で、最近、http URIを使用してデータを取得し、SSISのC#を使用してストリームからJSON文字列を解析し、S​​QL Serverにデータをロードできましたデータベース。C#を使用してデータを取得するJSON APIクエリ

は以下

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" 

私は、これは、HTTPのようなSQLにデータと負荷データを照会するために使用することができますかわからないようなものになります要求。誰かがこれを達成するために正しい方向で私に助言してくれる?ご協力いただきありがとうございます。

答えて

0

あなたのシナリオは%100ではありませんが、一部のサーバーからデータを取得してデータをデータベースに格納しようとしていることが分かります。

これはHTTP GETを使用して実現しましたが、今回はPOSTで行う必要があります。

GETとPOSTの基本的な違いは、GETを使用して既存のデータを照会することですが、POSTでは何かをサーバーに配信しています。

これは簡単に行うことができます。

  1. Prepare your POST request

    は、あなたがあなたのパラメータのコンテンツを持っている必要があります:(https://www.w3schools.com/tags/ref_httpmethods.aspもちろん、このリンクをチェックし、より多くの違いがあります)。
  2. あなたのJSONが掲載さから、あなたの着信応答文字列のためのクラスを作成します:あなたは(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; } 
    } 
    
  3. は、JSON.NETを経由して、それをデシリアライズ。

  4. これで.NETオブジェクトとして使用できます。 Entity Frameworkを使用して、それらをデータベースにコミットできます。

任意の手順について助言が必要な場合は、私の回答を編集できます。

+0

ご回答ありがとうございます。「POSTでは、サーバーに何かを提供しています」と言いました。このクエリをURLで送信してレスポンスを得なければならないということですか?ここでは少し遅くて申し訳ありません。論理を理解し、それを自分の要求に従って構築しようとする例を得ることは可能ですか?ありがとうございます – Nat85

+0

私が提供したリンクを確認してください。 「POSTでは、サーバーに何かを提供しています」というのは、要求に応じて投稿データを送信する必要があるということです。 'data'と' stream.Write(data、0、data.Length); '行をチェックしてください。 上記の回答が役に立った場合は、回答としてマークしてください。 – Mithgroth

関連する問題