我需要生成一个低于结构的JSON
"data": {
"id": "1",
"week04282020": "0",
"week05052020": "624,746",
"week05122020": "0",
"week05192020": "0",
"week05262020": "0",
"may-20": "624,746",
"week06022020": "0",
"week06092020": "0",
"week06162020": "0",
"week06232020": "0",
"week06302020": "0",
"jun-20": "0",
"quarter22020": "624,746"
.....
}
周等的格式为weekMMDDYYYY
等等。这些日期正在按预期更改。所以,对我来说,其他选择是在下面这样的类中使用ExpandoObject
-
class MyData
{
public dynamic ExpandoObject Data = new ExpandoObject();
}
var data = MyData();
data.Data.id = 1;
data.Data.week04282020 = 0;
data.Data.week05052020 = 624746;
...
JsonConvert.SerializeObject(data);
有没有更好的方法可以在不使用动态/ExpandoObject的情况下实现这一点?请注意,稍后我可能不得不将此代码移植到Java,因为Java不支持动态或等效的ExpandoObject。
在不使用类序列化的情况下生成此JSON的任何其他方式(而不是字符串串联/操作(也可以。
感谢
您可以为Data
属性使用Dictionary<string, string>
,如下所示:
class MyData
{
public Dictionary<string, string> Data { get; set; } = new Dictionary<string, string>();
}
Fiddle:https://dotnetfiddle.net/RWW0Bk
请注意,Java有一个HashMap<K,V>
类,它大致相当于Dictionary<K,V>
。