回答編集履歴

2

追記

2019/01/31 02:30

投稿

YAmaGNZ
YAmaGNZ

スコア10259

test CHANGED
@@ -65,3 +65,103 @@
65
65
  でコンバートできます。
66
66
 
67
67
  このようにコンバート後、UTF-8へのエンコードを行って送信すればいいのではないでしょうか
68
+
69
+
70
+
71
+ ### さらに追記
72
+
73
+ 参照設定にて`System.Runtime.Serialization`を追加し
74
+
75
+ ```VB.NET
76
+
77
+ '--------------------------------------------------------------------
78
+
79
+ ' リクエスト・メインクラス(JSON List)
80
+
81
+ '--------------------------------------------------------------------
82
+
83
+ <DataContract>
84
+
85
+ Public Class RequestJson3
86
+
87
+ <DataMember>
88
+
89
+ Property headerlist3 As New List(Of HeaderList3) '--- 配列データ 
90
+
91
+ <DataMember>
92
+
93
+ Property reqdat3 As New List(Of DataList3) '--- 配列データ 
94
+
95
+ End Class
96
+
97
+
98
+
99
+ '--------------------------------------------------------------------
100
+
101
+ ' リクエスト・ヘッダークラス(List)
102
+
103
+ '--------------------------------------------------------------------
104
+
105
+ <DataContract>
106
+
107
+ Public Class HeaderList3
108
+
109
+ <DataMember>
110
+
111
+ Property recordNo As String = "" '--- レコード番号
112
+
113
+ <DataMember>
114
+
115
+ Property appVer As String = "" '--- 識別情報
116
+
117
+ <DataMember>
118
+
119
+ Property houkokuTime As String = "" '--- データ作成日時
120
+
121
+ End Class
122
+
123
+
124
+
125
+ '--------------------------------------------------------------------
126
+
127
+ ' リクエスト・データクラス(List)
128
+
129
+ '--------------------------------------------------------------------
130
+
131
+ <DataContract>
132
+
133
+ Public Class DataList3
134
+
135
+ <DataMember>
136
+
137
+ Property recordNo As String = "" '--- レコード番号
138
+
139
+ <DataMember>
140
+
141
+ Property okozukai As String = "" '--- お小遣い
142
+
143
+ <DataMember>
144
+
145
+ Property actiondate As String = "" '--- 使った日
146
+
147
+ End Class
148
+
149
+
150
+
151
+
152
+
153
+ ' JSONへシリアライズ
154
+
155
+ Using stream As New MemoryStream
156
+
157
+ Dim serializer = New DataContractJsonSerializer(json.GetType)
158
+
159
+ serializer.WriteObject(stream, json)
160
+
161
+ Console.WriteLine(Encoding.UTF8.GetString(stream.ToArray()))
162
+
163
+ End Using
164
+
165
+
166
+
167
+ ```

1

追記

2019/01/31 02:30

投稿

YAmaGNZ
YAmaGNZ

スコア10259

test CHANGED
@@ -7,3 +7,61 @@
7
7
 
8
8
 
9
9
  また、UTF-8ではなくSHIFT-JISでエンコードしてバイト配列化しようとしていますが、UTF-8でエンコードしなくてはいけないのではないですか?
10
+
11
+
12
+
13
+
14
+
15
+ ### 追記
16
+
17
+ JSONへのコンバートですが、NuGetでNewtonsoft.Jsonをインストールし
18
+
19
+ ```VB.NET
20
+
21
+ Dim senddata As New RequestJson3
22
+
23
+
24
+
25
+ Dim header As New HeaderList3
26
+
27
+ header.recordNo = "1"
28
+
29
+ header.appVer = "1.0.0"
30
+
31
+ header.houkokuTime = "12:00:00"
32
+
33
+
34
+
35
+ senddata.headerlist3.Add(header)
36
+
37
+
38
+
39
+ Dim data As DataList3
40
+
41
+ data = New DataList3
42
+
43
+ data.recordNo = "11"
44
+
45
+ data.okozukai = "1000"
46
+
47
+ data.actiondate = "2019/01/01"
48
+
49
+
50
+
51
+ senddata.reqdat3.Add(data)
52
+
53
+
54
+
55
+
56
+
57
+ Dim jsondata As String = Newtonsoft.Json.JsonConvert.SerializeObject(senddata)
58
+
59
+ Console.WriteLine(jsondata)
60
+
61
+
62
+
63
+ ```
64
+
65
+ でコンバートできます。
66
+
67
+ このようにコンバート後、UTF-8へのエンコードを行って送信すればいいのではないでしょうか