本文介绍了如何将任何Pascal大小写JSON对象转换为驼峰式JSON对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试使用CamelCasePropertyNamesContractResolver,但是它不会将pascal属性名称转换为骆驼套吗?
I tried using CamelCasePropertyNamesContractResolver, however it does not convert pascal property names into camel casing?
注意:这仅是一个示例,我的json输入未知,我只有json pascal大小写.
Note: this is an example only, my json input is unknown, I only the json pascal casing.
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
namespace Example
{
class Program
{
static void Main(string[] args)
{
object myJsonInput = @"{'Id':'123','Name':'abc'}"; //Example only, any json.
object myJsonOutput;
var jsonSerializersettings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
myJsonOutput = JsonConvert.DeserializeObject<object>(myJsonInput.ToString(),jsonSerializersettings);
//{{"Id": "123","Name": "abc"}}
}
}
}
推荐答案
您的示例正在序列化字符串.如果将输入转换为对象然后反序列化,它将起作用:
Your example is serialising a string. If you convert your input to an object then deserialise, it will work:
static void Main(string[] args)
{
var myJsonInput = @"{'Id':'123','Name':'abc'}";
var jsonSerializerSettings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var interimObject = JsonConvert.DeserializeObject<ExpandoObject>(myJsonInput);
var myJsonOutput = JsonConvert.SerializeObject(interimObject, jsonSerializerSettings);
Console.Write(myJsonOutput);
Console.ReadKey();
}
这篇关于如何将任何Pascal大小写JSON对象转换为驼峰式JSON对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!