Q: Crear estructura variable JSON, ¿es posible? Saludos a toda la comunidad! Quería saber si existe la posibilidad (ya que estamos cómo se haría :-)) de definir una estructura variable de comunicación por JSON como existe en XML con los XSL/XML.
Poniendo en situación, es porque estoy implementando un webservice Rest en C# donde por el FormBody recibo un registro o lista de registros, pero me gustaría desarrollar el controlador para que pueda usarlo en múltiples casos diferentes modificando por ejemplo un fichero de configuración de la estructura del JSON que me llegaría y luego en el mismo sitio o en otro fichero de configuración un remapeo de campos para volcarlos a los campos de mi clase. De esta forma evitaría tener que crear un webservice para cada instalación que puede enviar los datos con diferentes estructuras y simplemente modificando este fichero de configuración no necesitaría modificar el código en cada caso con la complicación de mantenimiento que ello conlleva.
Podría implementar un proceso completo de lectura de ficheros de configuración y demás pero querría saber si hay ya algo que me simplifique esta tarea.
Gracia y un saludo!
Marcos.

A: Podrias aplicar la herencia en la definicion del model que recibas como parte de la webapi ya que esta deserializa intepretando el json.
Como veras se aplica herencia de clases, por lo que necesitaras que al menos todas hereden de una clase comun.
public class ModelBase{ }

public class Modelo : ModelBase {}
public class OtroModelo : ModelBase {}

la idea es que en el webapi puedas definir esa clase base del modelo como parametro
 public class XXController : Controller {

    public JsonResult Action1(ModelBase model){
        //codigo
    }
 }

Pero al aplicar herencia se pueda recibir tambien sus clases derivadas
Estoy mas que seguro que como comenta en esta respuesta Hasiya
Web Api Model Binding and Polymorphic Inheritance
la herencia la intepreta model binding de forma estandar.
Pero en caso de no hacerlo siempre se puede crear un custom model binding para procesar los diferentes modelos de entidades
JSON deserialization with JSON.net: class hierarchies
How to Implement Polymorphic Data Binding in .NET Core WebApi

A: Bueno, ahora mismo lo estoy haciendo así. Tengo una clase base y luego otra que se hereda. La que se hereda implementa los métodos de integración y la base sirve como "puente".
Lo que quería evitar era tener que modificar este "puente" cada vez que quiera adaptar la webapi para que integre con otro software de otro fabricante, sino que simplemente con un fichero de configuración que defina la estructura de tipos del json se adapte.
De todas formas es sólo una idea para estandarizar la webapi y simplificar mantenimientos, entiendo que es algo un poco descabellado :-D pero gracias de todas formas!
