問題描述
如何將通用 JObject 轉換為 camelCase 純 json 字符串?我試過 JsonSerializerSettings 但不起作用(Newtonsoft.Json 4.5.11)
How can I convert a generic JObject to camelCase plain json string? I've tried with JsonSerializerSettings but doesn't work (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 獲取鏈接)
UPDATE According to http://json.codeplex.com/workitem/23853 that cannot be done (tnx to @nick_w for the link)
推薦答案
這道題從一個JObject開始,想對一個駝峰式的JSON對象起作用.如果您實際上是從一個對象開始并想要獲得一個已經被駝峰??化的 JObject,那么您可以這樣做:
This question starts from a JObject and wants to work to a camel-cased JSON object. If you are actually starting from an object and want to get to a JObject that is already camelcased, then you can do this:
var serializer = new JsonSerializer()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var jo = JObject.FromObject(someDataContract, serializer);
生成的 'jo' 將被駝峰化.
The resulting 'jo' will be camelcased.
這篇關于對象&使用 JSON.Net 進行駝峰式轉換的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!