

すみません。C#アマチュアレベル(10年ぶり。言語はvbaならなんとか)、json3日目レベルのほぼ初心者です。どうしてもC#で始めなければならないため、10年ぶりのC#に悪戦苦闘しておりましたが、jsonの扱い方でほぼギブアップ状態です。どなたか、詳しいC#でjsonの扱い方を教えていただけると助かります。自身で調べるほが本来ですが、私自身、本職がプログラマではない為、色々とネットを使いましたが、なかなか答えにたどり着かない次第です。
やりたいことは、金融庁WebサイトからのEDINETデータをJSONで取得、そのアイテムの中のdocIDをwritelineで表示させたいというものです。ここさえできれば、残りはデータベースの接続、その後の処理はおおよそ自身でできると思いますので、
class Program
{
//ここの書き方は正しい?resultsの中の定義をすればそれでOKですか?
public class EdinetXbrl
{
public int seqNumber { get; set; }
public string docID { get; set; }
…
…
public int englishDocFlag { get; set; }
}
static void Main(string[] args)
{
WebClient myWebClient = new WebClient();
myWebClient.Encoding = System.Text.Encoding.UTF8;
string jsonstring = myWebClient.DownloadString("https://disclosure.edinet-fsa.go.jp/api/v1/docum …
EdinetXbrl edinetxbrl = JsonConvert.DeserializeObject<EdinetXbrl>(jsonstring);
//↑でedinetxbrlを作りましたが、何も入っていないような。処理が失敗していると思います。
foreach(var f in in results){
Console.WriteLine("docIDの中身”);
}
}
}
No.2ベストアンサー
- 回答日時:
EdinetXbrlクラスはmetadataプロパティ、resultsプロパティですね。
metadataプロパティの型はMetaDataになります。
resultプロパティの型はList<Results>になります。
MetaDataクラスでtitle, parameter, resultset, processDateTime, status, messageプロパティを持つでしょう。
resultsクラスでseqNumber, docID, edinetCode・・・プロパティを持つでしょう。
同様に、parameter、resultsetプロパティの型は、Parameter、ResultSetなどとなり、
Parameterクラスはdate, typeプロパティを持つし、ResultSetクラスはcountプロパティを持ちますね。
基本的な考えは、階層的にクラスとそのプロパティが定義されていけばいいだけです。
なお、ANo.1にある機能は、Visual Studio のインストールにて、「ASP.NETとWeb開発」をインストールしていないと表示されてきません。
メニューがあるなら、それを利用すると便利ですね。
No.1
- 回答日時:
対象のURLにアクセスしたときに帰ってくるJSONをクリップボードにコピーして、
Visual Studioのメニューから[編集]->[形式を選択して貼り付け]->[JSONをクラスとして貼り付ける]で
エディタに貼り付ければクラスが自動で作成されます。
生成されたクラスでEdinetXbrl を置き換えたら動作しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java java final 1 2022/06/10 22:49
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA チェックボックスをオーバ...
-
既定のコンストラクタがない?
-
FriendとPublicの違い。。。
-
C++ protectedにアクセス不可
-
MFCアプリのコマンドラインでパ...
-
C#でのjsonの扱い方を教えてく...
-
関数の呼び出し元の検索
-
クラスの扱いについて
-
オブジェクト指向 集約の実装...
-
DLLの作り方および使い方について
-
MFCのCListCtrlでスクロールを検出
-
ダイアログ表示時にチェックボ...
-
C++でJavaのStaticイニシャライ...
-
エディットコントロールでEnter...
-
(UWSC) 「#32770」の意味わかり...
-
MFC モードレスDlgについて
-
リストコントロールの使用法に...
-
MessageBoxを継承したい
-
【MFC】ユーザインタフェースス...
-
VB6で作成したDLLをVC6で使用す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
ダイアログ表示時にチェックボ...
-
エディットコントロールでEnter...
-
(UWSC) 「#32770」の意味わかり...
-
C++ protectedにアクセス不可
-
クラスのアドレスを引数として...
-
エディットコントロールのイベ...
-
【ASP.NET】 独自で作成したク...
-
MFCのドラッグ&ドロップについて
-
オーバーライド関数の呼び出し...
-
C++/CLIからC++の呼び出しで例外
-
ボタンのオーナードローについて
-
C++で継承元のクラスの代入演算...
-
MFCアプリのコマンドラインでパ...
-
DLLからEXEのクラスを呼び出す...
-
MFCのCListCtrlでスクロールを検出
-
オブジェクト指向 集約の実装...
-
ダイアログクラスのコントロー...
おすすめ情報