我有一个接受键和值的方法。两个变量都可以有动态内容。
key => 是一个动态字符串,可以是任何东西,例如“上次发送日期”
value => 是一个对象,它可以是任何东西,例如"2014-10-10"
由于键是动态值,例如“LastSentDate”或传递给方法的任何键,因此我希望 json 属性是键字符串的值,而不是字面上的键本身...
public void SetRowVariable(string key, object value)
{
var obj = new { key = value }; // key property is literally taken maybe anonym object is not a good idea?
string jsonString = JsonConvert.SerializeObject(obj);
// jsonString should have that output => "{ "LastSentDate": "2014-10-10" }"
}
我必须如何序列化获得所需输出的 obj?
“key”属性也必须有可能包含特殊字符,如“!”§$%&/()=?"`
我很遗憾地使用 .NET 3.5。
最佳答案
您可以使用 JObject
(在 Newtonsoft.Json.Linq 中):
var obj = new JObject();
obj[key] = JToken.FromObject(value);
string jsonString = obj.ToString();
关于c# - 使用动态属性名称将数据序列化为 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874014/