2016-07-15 1 views
0

qpromptから我々は、(例えばhost:port/?select from tableを)要求を取得し kdbウェブサーバからjsonを返す

x: select from table 
.j.j x 

がどのように私は、HTTPのURLのテーブルの結果を返すか、実行プレーンテキストとは対照的に、JSONでKDBのウェブサーバに行われたことができますか?

私は、テキスト内の表の結果を取得し、HTML応答を解析しますが、JSON HTTPサーバ自体からの結果を得るために

おかげ

+2

"http:// localhost:5555 /?.jj seタブから教えてください "は機能しませんか? – terrylynch

+0

私が最初に試したことの一つは、私のために働いてくれませんでした。それはどうしたの?また、3.2より前のkdbの古いバージョンでも、json.k – user1427026

+0

を手動でロードしました。もし '.j.j select from table'がqコンソールから動作するならば、httpでも動作するはずです。ブラウザーで 'localhost:5555/?. j.j select tab'を開くとどうなりますか? –

答えて

1

を好むことができますあなたが持っているJSONオブジェクトとしてデータを取得するためにKDB応答あなたが.z.ph機能のカスタム実装を提供し、あなたの応答データの明記に線の下に追加する必要があり、そのために

におけるレスポンスヘッダ内のアプリケーション/ JSON:コンテンツタイプを設定します。 z.ph機能で

"HTTP/1.x 200 OK\r\nContent- Type:application/json\r\n\r\n" 

サンプル実装

.z.ph:{:"HTTP/1.x 200 OK\r\nContent- Type:application/json\r\n\r\n", .j.j table_data } 

あなたは今、あなたはあなたのx [0]クエリを処理するためにカスタム実装を記述する必要が入力

x[0]: query from browser 
x[1]: request header 

として辞書を取得します

If query through Http client was http://localhost:2001/?select from t then 
x[0] will be "?select%20from%20t" where t is kdb table 
you have to decode x[0] string to remove white space and other character in string. 
    value (decoded string); 
関連する問題