加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – JObject和CamelCase与JSON.Net的转换

发布时间:2020-12-15 17:44:48 所属栏目:百科 来源:网络整理
导读:如何将通用JObject转换为camelCase plain json字符串? 我试过JsonSerializerSettings但不工作(Newtonsoft.Json 4.5.11) [Test]public void should_convert_to_camel_case(){ var serializer = JsonSerializer.Create(new JsonSerializerSettings() { Contra
如何将通用JObject转换为camelCase plain 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);
}

UPDATE
根据http://json.codeplex.com/workitem/23853不能完成(tnx到@nick_w的链接)

解决方法

这个问题从一个JObject开始,想要工作到一个骆驼的JSON对象.如果你实际上是从一个对象开始,并且想要获得一个已经是camelcased的JObject,那么你可以这样做:
var serializer = new JsonSerializer()
{
    ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var jo = JObject.FromObject(someDataContract,serializer);

所产生的“乔”将被骆驼草化.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读