[ad_1]
Python を vb.net コードに変換する方法は? ほとんどのコードを変換できますが、「title」などの json 値を比較する方法や、以下の Python コードに示すように accessURL を取得する方法がわかりません。
フィトンコード
Python
url = "https://data.cms.gov/data.json" title= "Specific Chronic Conditions" time_period = "2017-01-01/2017-12-31" response = requests.request("GET", url) if response.ok: response = response.json() dataset = response['dataset'] for set in dataset: if title == set['title']: for distro in set['distribution']: if 'format' in distro.keys(): if distro['format'] == "API" and distro['temporal'] == time_period: print(f"API link for {title} from {time_period} is {distro['accessURL']}")
私が試したこと:
JSON文字列を文字列に変換することはできますが、値を「タイトル」と同じように比較して、タイトルに基づいてアクセスURLを取得する方法がわかりません
VB コード
VB
Sub btnGetJson_Click(sender As Object, e As EventArgs) Dim URL1 = "https://data.cms.gov/data.json" Dim title = "Specific Chronic Conditions" Dim time_period = "2017-01-01/2017-12-31" Dim url As String = URL1 Dim webRequest As WebRequest = webRequest.Create(url) Dim request As HttpWebRequest = CType(webRequest, HttpWebRequest) request.Method = "GET" request.ContentType = "application/json" Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) Dim jsonString As String = "" Using reader As StreamReader = New StreamReader(response.GetResponseStream()) jsonString = reader.ReadToEnd() End Using End Sub
解決策 1
これはコード変換サービスではありません。コードを翻訳するためにここにいるわけではありません。
仮にそうしたとしても、最終的にターゲット言語の「良いコード」にはなりません。それらは非常に異なるフレームワークに基づいており、ある言語で何かを機能させるものが必ずしも別の言語に直接「翻訳」されるとは限りません。
そのため、最終的には非常に貧弱なコードになり、メンテナンスが不可能ではないにしても難しく、適切にアップグレードできず、元のコードが変更された場合に大きな頭痛の種になります。 そして、「箱から出してすぐに」機能しない場合、デバッグするのは悪夢です。
代わりに、ソース コードを新しいアプリの仕様とターゲット言語/フレームワークの仕様として使用し、オリジナルを “テンプレート” として使用してゼロから記述します。 はるかに優れた結果が得られ、長期的には多くの時間を節約できます。
この場合、Newtonsoft.Json (NuGet 経由でプロジェクトにインストールできます) を確認し、それを使用して JSON データを VB コードで直接使用できるクラスに変換することを強くお勧めします。
[ad_2]
コメント