如何将通用 JObject 转换为驼峰式纯 json 字符串? 我试过 JsonSerializerSettings 但不起作用 (Newtonsoft.Json 4.5.11)
[Test]
public void should_convert_to_camel_case()
{
var serializer = JsonSerializer.Create(new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
});
var jo = new JObject();
jo["CamelCase"] = 1;
var stringWriter = new StringWriter();
var writer = new JsonTextWriter(stringWriter);
serializer.Serialize(writer,jo);
var serialized = stringWriter.ToString();
Assert.AreEqual("{\"camelCase\":1}", serialized);
}
更新 根据http://json.codeplex.com/workitem/23853无法完成(tnx 到@nick_w 的链接)
最佳答案
这道题从一个 JObject 开始,想作用于一个驼峰式的 JSON 对象。如果您实际上是从一个对象开始,并希望获得一个已经驼峰式封装的 JObject,那么您可以这样做:
var serializer = new JsonSerializer()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var jo = JObject.FromObject(someDataContract, serializer);
生成的“jo”将被驼峰化。
关于c# - 使用 JSON.Net 进行 JObject 和 CamelCase 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087340/