DOBON.NETプログラミング道掲示板

■35401 / 親階層)  グリッド表示レコードをJSONに変換
□投稿者/ けい 一般人(1回)-(2023/05/01(Mon) 17:08:45)
  • アイコン環境/言語:[Windows10、VB.NET2022] 
    分類:[.NET] 

    お世話になります。

    DataGridView1に表示されているレコードを、
    JSON形式に変換したいと考えています。

    レコードはこちらの内容です(2列3行)。
    【商品(クラス名:Shohin)】
    商品C=10000
    商品名=商品A
    商品C=10001
    商品名=商品B
    商品C=10002
    商品名=商品C

    VB.NETでJSONを扱う方法に、
    元々VB.NETに備わっている機能を使う、
    JSON.NETを使う、
    の2種類があると思いますが、
    ここではセキュリティの面もあり、
    前者を使います。

    DataGridView1にレコードが表示されており、
    Button1を押すと、
    TextBox1にJSON変換データが表示されます。
    (商品データ以外の前後の部分はここでは割愛します。)

    コードは以下の通りです。

    Public Class Shohin
    Public Property 商品C As Integer
    Public Property 商品名 As String
    End Class

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim data() As Shohin
    ReDim data(2)
    Dim sw As New System.Runtime.Serialization.Json.DataContractJsonSerializer(GetType(Shohin))
    Dim ms As New MemoryStream()
    Dim output As String
    For i = 0 To 2
    data(i) = New Shohin
    data(i).商品C = DataGridView1.Rows(i).Cells(0).Value
    data(i).商品名 = DataGridView1.Rows(i).Cells(1).Value
    sw.WriteObject(ms, data(i))
    Next
    output = Encoding.UTF8.GetString(ms.ToArray())
    TextBox1.Text = output
    End Sub

    上記のコードを実行しますと、
    表示結果が、
    次のようになります。

    {"商品C":10000,"商品名":"商品A"}
    {"商品C":10001,"商品名":"商品B"}
    {"商品C":10002,"商品名":"商品C"}

    これですと、{}の間にカンマ(,)がついておりません。
    {"商品C":10000,"商品名":"商品A"}
    ,{"商品C":10001,"商品名":"商品B"}
    ,{"商品C":10002,"商品名":"商品C"}
    のようにしたいです。

    上記Forループ内で、
    1行目ではない場合は、
    sw.WriteObject(ms, ",")
    sw.WriteObject(ms, data(i))
    と記述しますと、
    表示結果が下記のようになってしまいます。

    {"商品C":10000,"商品名":"商品A"}
    ","{"商品C":10001,"商品名":"商品B"}
    ","{"商品C":10002,"商品名":"商品C"}

    いろいろ調べておりますが、
    わかりませんでした。

    まことにお手数と存じますが、
    どうぞよろしくお願いいたします。


マルチポストを報告
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: グリッド表示レコードをJSONに変換 /魔界の仮面弁士
 
上記関連ツリー

Nomalアイコン グリッド表示レコードをJSONに変換 / けい (23/05/01(Mon) 17:08) #35401 ←Now
Nomalアイコン Re[1]: グリッド表示レコードをJSONに変換 / 魔界の仮面弁士 (23/05/01(Mon) 18:32) #35402
  └Nomalアイコン Re[2]: グリッド表示レコードをJSONに変換 / けい (23/05/01(Mon) 19:31) #35403
    ├Nomalアイコン Re[3]: グリッド表示レコードをJSONに変換 / けい (23/05/01(Mon) 19:36) #35404
    └Nomalアイコン Re[3]: グリッド表示レコードをJSONに変換 / 魔界の仮面弁士 (23/05/01(Mon) 19:48) #35405
      └Nomalアイコン Re[4]: グリッド表示レコードをJSONに変換 / けい (23/05/02(Tue) 11:59) #35406 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -