使用自定义列名称将 c# class 序列化为 JSON 字符串
Serializing c# class to JSON string with custom column name
我有这个结果
{
"StatusCode": "200",
"Description": "Success",
"Data": [
{
"Language_Key": "btn_select_country",
"En_Val": "SELECT COUNTRY",
"Ar_Val": "اختر الدولة"
},
{
"Language_Key": "btn_continue",
"En_Val": "CONTINUE",
"Ar_Val": "استمرار"
}
]
}
我想达到以下结果。
{
"StatusCode":"200",
"Description":"Success",
"Data":{
"btn_select_country":{
"En_Val":"SELECT COUNTRY",
"Ar_Val":"اختر الدولة"
},
"btn_continue":{
"En_Val":"CONTINUE",
"Ar_Val":"استمرار"
}
}
}
我希望 Language_Key 替换为列名和 2 个子节点,因为下面的 EN 和 AR 是我的代码
如有任何提示,我们将不胜感激。谢谢
你序列化了一个字典,其中的键是你的 Language_Key:
Dictionary<string, Translation> dict = countryObj
.ToDictionary(o => o.Language_Key, o => new Translation { Ar_Val = o.Ar_Val, En_Val = o.En_Val});
rs.Data = dict;
json = new JavScriptSerializer().Serialize(rs);
您可以在序列化后使用 JsonProperty 属性重命名属性。
https://www.newtonsoft.com/json/help/html/JsonPropertyName.htm
我有这个结果
{
"StatusCode": "200",
"Description": "Success",
"Data": [
{
"Language_Key": "btn_select_country",
"En_Val": "SELECT COUNTRY",
"Ar_Val": "اختر الدولة"
},
{
"Language_Key": "btn_continue",
"En_Val": "CONTINUE",
"Ar_Val": "استمرار"
}
]
}
我想达到以下结果。
{
"StatusCode":"200",
"Description":"Success",
"Data":{
"btn_select_country":{
"En_Val":"SELECT COUNTRY",
"Ar_Val":"اختر الدولة"
},
"btn_continue":{
"En_Val":"CONTINUE",
"Ar_Val":"استمرار"
}
}
}
我希望 Language_Key 替换为列名和 2 个子节点,因为下面的 EN 和 AR 是我的代码
如有任何提示,我们将不胜感激。谢谢
你序列化了一个字典,其中的键是你的 Language_Key:
Dictionary<string, Translation> dict = countryObj
.ToDictionary(o => o.Language_Key, o => new Translation { Ar_Val = o.Ar_Val, En_Val = o.En_Val});
rs.Data = dict;
json = new JavScriptSerializer().Serialize(rs);
您可以在序列化后使用 JsonProperty 属性重命名属性。
https://www.newtonsoft.com/json/help/html/JsonPropertyName.htm