2009-07-03 4 views
1

さまざまなWebソースから情報をダウンロードするWindowsまたはLinuxサーバーで実行される夜間実行可能ファイルがあり、そのソースの1つにJSON応答が含まれています。この実行可能ファイルは、情報をダウンロードし、SQLサーバーデータベースに接続して、適切なレコードを更新します。JSONレスポンスをコマンドラインで処理するにはどうすればよいですか?

私はC#、Windowsプログラミングの背景から来ているので、私の自然な傾向はJSON.netライブラリを使用するか、C#を使用してJSONテキストを解析するカスタムコードを作成することです。しかし、実際には適切なスクリプト言語を使用して、eval()ステートメントを利用してJSONを処理します。

この種のサーバープロセスに最適なスクリプト言語と開発環境について、お勧めはありますか?それは、LinuxやWindowsサーバー上で実行されている場合は私には問題ではない、私はちょうど最高のツールを使用したい。

答えて

0

eval()技法はJavaScript内でのみ機能します。これはJSONが有効なJavaScript構文であるためです。 Rhino(Java)のようなものを使用できるかもしれませんが、それ以外の言語を選択する場合は、JSONライブラリを使用する必要があります。あなたはC#と.NETに最も精通しているので、ターゲットマシンにすでに利用可能な場合は、最も論理的な選択肢のようです。

0

JSONsharp(.Net 2.0+)またはJSON.net(.Net 3.5)は、JSON.orgの他にもあなたの友人です。

しかし、JavaScriptでeval()文を注意してください - それは JSONを実行するので、誰かがそこにはJavaScriptを入れている場合は、あなた自身がコードを実行しているかもしれません。代わりにJSON.parseのようなものを使用したいと思うでしょう。 。

0

任意のスクリプト環境は問題ないはずです、ほぼすべてが組み込ままともなJSONパーサを持って

はここでPythonの例を示します(そうでないsimplejsonをダウンロードし、Pythonの2.6およびビルトインjsonモジュールのアップが必要です):

import urllib2, json 
response = urllib2.urlopen("http://example.net/url/for/json").read() 
data = json.loads(response) # returns a native Python type, e.g. a dictionary 

# your code here 
process_and_update_db(data) 

.NETを使用したい場合(たとえば、DBにアクセスしやすくなる可能性があります)、Pythonのようなスクリプト言語が必要な場合は、IronPythonを試してみてください。 jsonの代わりにsimplejsonをダウンロードして使用することができます。

関連する問題