質問編集履歴

9

文章修正

2020/06/20 22:09

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -162,10 +162,4 @@
162
162
 
163
163
 
164
164
 
165
- 環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1using System.Text.Json;
165
+ 環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1
166
-
167
- using System.Text.Json.Serialization;
168
-
169
- using System;
170
-
171
- using System.Collections.Generic;

8

コンソールアプリパターン

2020/06/20 22:09

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -84,4 +84,88 @@
84
84
 
85
85
 
86
86
 
87
+ コンソールアプリ .NET Core 3.1 で書き直したものはこちらです。
88
+
89
+ ```c#
90
+
91
+ namespace ConsoleApp2
92
+
93
+ {
94
+
95
+ public class Question
96
+
97
+ {
98
+
99
+ public string description;
100
+
101
+ public List<string> Options = new List<string>();
102
+
103
+ public Question() { }
104
+
105
+ }
106
+
107
+
108
+
109
+ class Program
110
+
111
+ {
112
+
113
+ static void Main(string[] args)
114
+
115
+ {
116
+
117
+ var qs = new List<Question>();
118
+
119
+ /* qsに色々入れる */
120
+
121
+ var q = new Question();
122
+
123
+ q.description = "aa";
124
+
125
+ q.Options = new List<string> { "a11", "a12", "a13", "a14", };
126
+
127
+ qs.Add(q);
128
+
129
+ q = new Question();
130
+
131
+ q.description = "bb";
132
+
133
+ q.Options = new List<string> { "b11", "b12", "b13", "b14", };
134
+
135
+ qs.Add(q);
136
+
137
+
138
+
139
+ var j = JsonSerializer.Serialize<List<Question>>(qs);
140
+
141
+ var j2 = JsonSerializer.Serialize<Question>(qs[0]);
142
+
143
+ var j3 = JsonSerializer.Serialize(qs);
144
+
145
+ var j4 = JsonSerializer.Serialize(qs[0]);
146
+
147
+ Console.WriteLine(j);
148
+
149
+ Console.WriteLine(j2);
150
+
151
+ Console.WriteLine(j3);
152
+
153
+ Console.WriteLine(j4);
154
+
155
+ }
156
+
157
+ }
158
+
159
+ }
160
+
161
+ ```
162
+
163
+
164
+
87
- 環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1
165
+ 環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1using System.Text.Json;
166
+
167
+ using System.Text.Json.Serialization;
168
+
169
+ using System;
170
+
171
+ using System.Collections.Generic;

7

パターン追加

2020/06/20 22:04

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -62,4 +62,26 @@
62
62
 
63
63
 
64
64
 
65
+ さらに試した事:
66
+
67
+ ```c#
68
+
69
+ var j1 = JsonSerializer.Serialize<List<Question>>(qs);
70
+
71
+ var j2 = JsonSerializer.Serialize<Question[]>(qs.ToArray());
72
+
73
+ var j3 = JsonSerializer.Serialize<Question>(qs[0]);
74
+
75
+ var j4 = JsonSerializer.Serialize<Object>(qs[0]);
76
+
77
+ var j5 = JsonSerializer.Serialize(qs[0]);
78
+
79
+ var j6 = JsonSerializer.Serialize(qs);
80
+
81
+ ```
82
+
83
+ これら全て空になりました。
84
+
85
+
86
+
65
87
  環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1

6

その後 追記

2020/06/20 21:58

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -52,4 +52,14 @@
52
52
 
53
53
 
54
54
 
55
+ その後:
56
+
57
+ .Net Framework 4.7.2
58
+
59
+ .NET Core 3.1
60
+
61
+ で、同じことを試した結果、上記と同じ結果になりました。
62
+
63
+
64
+
55
65
  環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1

5

usingを追加

2020/06/20 21:51

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,8 @@
5
5
  ```c#
6
6
 
7
7
  using System.Text.Json;
8
+
9
+ using System.Text.Json.Serialization;
8
10
 
9
11
  /* 略 */
10
12
 

4

追記

2020/06/20 21:18

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
1
  System.Text.Json で独自クラスのリストをSerializeしたのですが、中身が空っぽになってしまいました。
2
+
3
+ System.Text.Json は NuGet パッケージでインストールしてあります。
2
4
 
3
5
  ```c#
4
6
 

3

pubricに変更

2020/06/20 21:12

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- internal class Question
11
+ public class Question
12
12
 
13
13
  {
14
14
 

2

追記

2020/06/20 20:51

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -48,4 +48,4 @@
48
48
 
49
49
 
50
50
 
51
- 環境: Windows 10, Microsoft Visual Studio Community 2019
51
+ 環境: Windows 10, Microsoft Visual Studio Community 2019, .Net Framework 4.6.1

1

追記

2020/06/20 19:47

投稿

neuromancer
neuromancer

スコア72

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,5 @@
1
+ System.Text.Json で独自クラスのリストをSerializeしたのですが、中身が空っぽになってしまいました。
2
+
1
3
  ```c#
2
4
 
3
5
  using System.Text.Json;