質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

1回答

1407閲覧

VB.NET JSONファイルのシリアライズについて(続き)

n_ohno

総合スコア1

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2021/11/29 23:30

編集2021/11/30 00:15

完成形

"Carlist": { "maker": "TOYOTA", "shasyu": [ { "shasyunm": "Prius", "katasiki": [ { "katamei": "6AA-ZVW51" }, { "katamei": "DAA-ZVW55" } ] }, { "shasyunm": "Yaris", "katasiki": [] } ] } }

Dim

1 Dim carlist As New carlist 2 3 JsonInfo.Carlist = carlist 4 carlist.Maker = "TOYOTA" 5 carlist.shasyu = New List(Of shasyu) 6 carlist.shasyu.Add(New shasyu With { 7 .shasyunm = "Prius", 8 .katasiki = New List(Of katasiki) From { 9 New katasiki With { 10 .katamei = "6AA-ZVW51" 11 }, 12 New katasiki With { 13 .katamei = "DAA-ZVW55" 14 } 15 } 16 }) 17 carlist.shasyu.Add(New shasyu With { 18 .shasyunm = "Yaris", 19 .katasiki = New List(Of katasiki) 20 }) 21

以前に、jsonファイルのkatasikiの部分のコーディング方法がわからなく
上記のような回答を頂きましたが、実際のプログラムでは
shasyunmに対するkatasikiの数はバラバラで
katasiki部分をループ処理等で記述出来る方法があればご教示願います。

以前の質問及び回答です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2021/11/29 23:43

調べたこと、試したことを質問に追記していただけませんか。
退会済みユーザー

退会済みユーザー

2021/11/29 23:58

> 以前に... そのスレッドの url を質問欄に書いてください。その際クリックすれば飛べるようにリンクを張ってください。
Zuishin

2021/11/30 00:40

型式が一つ一つ違うのにループ処理? どこからデータを持ってくるつもりなんだろう。
YAmaGNZ

2021/11/30 00:43

まずは一度にnewせずに別々に書いてみましょう。 回答で貰ったソースを理解していない証拠かと
退会済みユーザー

退会済みユーザー

2021/11/30 01:24

質問文は意味不明だし、一体何がしたいのか分かりません。今度は JSON 文字列をデシリアライズした VB.NET のオブジェクトからデータを取得したい? 一度読んでみましょう→ https://teratail.com/help/question-tips 特に以下の部分: "人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。一見簡単なようですが、実はとても難しいことです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます。"
退会済みユーザー

退会済みユーザー

2021/12/01 02:30

質問者さん、無言ですが、回答が出ているのでそれに対するフィードバックを返しましょう。期待する回答であればベストアンサーを付けてこのスレッドはクローズしてください。期待と違うならどこがどう違うかを書きましょう。とにかく無言で放置は NG です。
guest

回答1

0

katasikiが複数ある場合は単純にAddしてあげればいいだけです。

New List(Of katasiki) From { New katasiki With { .katamei = "6AA-ZVW51" }, New katasiki With { .katamei = "DAA-ZVW55" } }

これは複数のkatasikiオブジェクトをList作成時に入れてるだけなので
分解するとこんな感じになります。

.katasiki = New List(Of katasiki) .katasiki.Add(New katasiki With { .katamei = "6AA-ZVW51" }) .katasiki.Add(New katasiki With { .katamei = "DAA-ZVW55" })

ただこの場合ループ処理の中で行うとしたら対応するshasyuを取得してから追加する事になるので
carlist.shasyu.Where(Function(n) n.shasyunm = "Prius").First()
みたいにshasyuオブジェクトを取得してからAddすればいいかと。

投稿2021/11/30 02:14

romer

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

n_ohno

2021/12/01 23:01

回答ありがとうございます。 arlist.shasyu.Where(Function(n) n.shasyunm = "Prius").First() の意味を調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問