2 回答

TA貢獻1818條經驗 獲得超7個贊
正如評論中提到的其他 OPS,創建字典并序列化它
string codfis = "Example1";
var codfisValue = new
{ // codfis is the name of the variable as you can see
Cognome = "vcgm",
Nome = "vnm",
Sesso = "ss",
LuogoDiNascita = "ldn",
Provincia = "pr",
DataDiNascita = "ddn"
};
var jsonCF = new Dictionary<string, object>();
jsonCF.Add(codfis, codfisValue);
using (StreamWriter file = File.CreateText("CodFisCalcolati.json"))
{
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(file, jsonCF);
}

TA貢獻1799條經驗 獲得超9個贊
除了這是匿名對象這一事實之外,這實際上是正確序列化的。從不使用在 jsonCF 對象之外初始化的 codfis 對象。您實際上是在創建一個全新的對象來表示對象內部的屬性。
“解決方案”取決于您要對此序列化項目執行的操作。如果您想要的話,您只需要引用現有變量而不是創建一個新變量?;蛘撸绻幌雽⒃搶傩缘拿Q設為Example1,只需將其設置為如下所示:
var jsonCF = new {
Example1 = new { //Note the property name
Cognome = vcgm,
Nome = vnm,
Sesso = ss,
LuogoDiNascita = ldn,
Provincia = pr,
DataDiNascita = ddn
}
};
或者,
var codfis = new {
Cognome = vcgm,
Nome = vnm,
Sesso = ss,
LuogoDiNascita = ldn,
Provincia = pr,
DataDiNascita = ddn
};
var jsonConf = new {
Example1 = codfis
}
如果您希望屬性名稱和值都不同,您可能會使用字典而不是那樣做
var codfisName = "Example1";
var jsonConf = new Dictionary<string, object>{
{codfisName, codfis}
};
- 2 回答
- 0 關注
- 122 瀏覽
添加回答
舉報