Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

415
Vistas
¿Cómo convertir cualquier objeto JSON de caso pascal a objeto JSON de caso camello?

Intenté usar CamelCasePropertyNamesContractResolver, sin embargo, ¿no convierte los nombres de propiedad de Pascal en carcasa de camello?

Nota: este es solo un ejemplo, mi entrada json es desconocida, solo tengo la carcasa json pascal.

 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"}} } } }
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su ejemplo es serializar una cadena. Si convierte su entrada en un objeto y luego deserializa, funcionará:

 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(); }
about 4 years ago · Santiago Trujillo Denunciar

0

Humanizer tiene funciones como Pascalize y Camelize. Puedes usarlo o simplemente mirar su código fuente.

 /// <summary> /// By default, pascalize converts strings to UpperCamelCase also removing underscores /// </summary> /// <param name="input"></param> /// <returns></returns> public static string Pascalize(this string input) { return Regex.Replace(input, "(?:^|_)(.)", match => match.Groups[1].Value.ToUpper()); } /// <summary> /// Same as Pascalize except that the first character is lower case /// </summary> /// <param name="input"></param> /// <returns></returns> public static string Camelize(this string input) { var word = Pascalize(input); return word.Substring(0, 1).ToLower() + word.Substring(1); }

Los resultados son los siguientes:

 "some_title".Pascalize() => "SomeTitle" "some_title".Camelize() => "someTitle"
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda