Efficienter programmeren door middel van het gebruik van externe tools

Geschreven door: op donderdag 2 april 2020

Leestijd: 7 minuten

Iedere programmeur zal er bekend mee zijn: Wanneer je bezig bent met het schrijven van een koppeling, laten we zeggen een integratie met je CRM, zul je bepaalde data moeten updaten. In ons geval werken we met een stuk JSON welke we willen doorsturen naar ons CRM. We kunnen hier natuurlijk een stuk JSON voor gaan vullen en deze doorsturen, maar het is niet alleen een fraaiere oplossing wanneer we dit automatisch genereren op basis van een klasse, maar ook nog een sneller, want we hoeven niet met de hand een complete klasse te schrijven. Dit is mogelijk via Quicktype. QuickType stelt ons in staat een stuk JSON in te geven, en er een klasse uit te krijgen in een reeks van programmeertalen.

Gemakkelijk JSON omzetten naar C#

We gebruiken onderstaand voorbeeld:

{
  "Organisatie": {
    "Sub1": {
      "Velden": {
        "Vergelijking": "4",
        "Nr": "12345",
        "Nm": "Sigma Solutions B.V.",
        "Type": "30",
        "kvK": "123456789",
        "EmAd": "info@sigmasolutions.nl",
        "HoPa": "https://sigmasolutions.nl",
        "EmAm": "05"
      },
      "Sub2": {
        "Adres": {
          "Element": {
            "Fields": {
              "Land": "NL",
              "Ad": "Wilhelminalaan",
              "HmNr": 1,
              "ZpCd": "1815JC",
              "Rs": "Alkmaar"
            }
          }
        },
        "Contact": {
          "Element": {
            "Velden": {
              "Type": "PRS",
              "Linkedin": "linkedin.com/in/armanddewaard"
            }
          }
        }
      }
    }
  }
}

Wanneer we bovenstaande JSON omzetten naar C#, krijgen we daar onderstaande klasse uit. Hierin worden niet alleen de verschillende subklassen en attributen aangemaakt, maar wordt tevens aangegeven met welke individueel attribuut in de JSON (JsonProperty) het C#-attribuut overeenkomt. Dit houdt in dat je in C# je attribuut kunt hernoemen, zonder dat je JSON-omzetting kapot gaat.

Door deze tool te gebruiken, ben je dus niet alleen efficiënter, maar verklein je ook nog eens je foutmarge. Het genereren van complexe klassen is namelijk geautomatiseerd, waardoor de kans op fouten minder wordt.

public partial class QuickTypeTest
    {
        [JsonProperty("Organisatie")]
        public Organisatie Organisatie { get; set; }
    }

    public partial class Organisatie
    {
        [JsonProperty("Sub1")]
        public Sub1 Sub1 { get; set; }
    }

    public partial class Sub1
    {
        [JsonProperty("Velden")]
        public Sub1Velden Velden { get; set; }

        [JsonProperty("Sub2")]
        public Sub2 Sub2 { get; set; }
    }

    public partial class Sub2
    {
        [JsonProperty("Adres")]
        public Adres Adres { get; set; }

        [JsonProperty("Contact")]
        public Contact Contact { get; set; }
    }

    public partial class Adres
    {
        [JsonProperty("Element")]
        public AdresElement Element { get; set; }
    }

    public partial class AdresElement
    {
        [JsonProperty("Fields")]
        public Fields Fields { get; set; }
    }

    public partial class Fields
    {
        [JsonProperty("Land")]
        public string Land { get; set; }

        [JsonProperty("Ad")]
        public string Ad { get; set; }

        [JsonProperty("HmNr")]
        public long HmNr { get; set; }

        [JsonProperty("ZpCd")]
        public string ZpCd { get; set; }

        [JsonProperty("Rs")]
        public string Rs { get; set; }
    }

    public partial class Contact
    {
        [JsonProperty("Element")]
        public ContactElement Element { get; set; }
    }

    public partial class ContactElement
    {
        [JsonProperty("Velden")]
        public ElementVelden Velden { get; set; }
    }

    public partial class ElementVelden
    {
        [JsonProperty("Type")]
        public string Type { get; set; }

        [JsonProperty("Linkedin")]
        public string Linkedin { get; set; }
    }

    public partial class Sub1Velden
    {
        [JsonProperty("Vergelijking")]
        [JsonConverter(typeof(ParseStringConverter))]
        public long Vergelijking { get; set; }

        [JsonProperty("Nr")]
        [JsonConverter(typeof(ParseStringConverter))]
        public long Nr { get; set; }

        [JsonProperty("Nm")]
        public string Nm { get; set; }

        [JsonProperty("Type")]
        [JsonConverter(typeof(ParseStringConverter))]
        public long Type { get; set; }

        [JsonProperty("kvK")]
        [JsonConverter(typeof(ParseStringConverter))]
        public long KvK { get; set; }

        [JsonProperty("EmAd")]
        public string EmAd { get; set; }

        [JsonProperty("HoPa")]
        public Uri HoPa { get; set; }

        [JsonProperty("EmAm")]
        public string EmAm { get; set; }
    }

 


Andere blogartikelen

  • B2B SEO en Geoptimaliseerde Afbeeldingen

    Geschreven door: op woensdag 12 augustus 2020

    In een tijd waarin 27% van het koopproces van B2B kopers met eigen online research wordt doorgebracht is het essentieel om een goed vindbare website te hebben. Afbeeldingen kunnen, indien geoptimalise ...

    Bekijk het artikel »
  • Prospects zoeken B2B

    Geschreven door: op woensdag 12 augustus 2020

    Het zoeken van B2B prospects is een uitdaging voor elk bedrijf. Met name kwalitatieve B2B prospects.Door vooraf onderzoek te doen naar bedrijven die voldoen aan je criteria en je marketing hierop aan ...

    Bekijk het artikel »
  • Succesvolle B2B Marketing met deze 5 Tools

    Geschreven door: op woensdag 12 augustus 2020

    Zoals mooi gevisualiseerd in het filmpje ‘The Man in the Chair’. De fundamenten onder marketing veranderen niet, de technologieën en bijbehorende tools wel. Lees hier 5 tools die wij inzetten om B2B M ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Allrig is de alles in een leverancier binnen de energie-industrie
AOC is een toonaangevend wereldwijd bedrijf actief in de verkoop van kwaliteitsharsen
ERIKS is een toonaangevende en innovatieve leverancier aan de procesindustrie en aan machinebouwers, die zowel de rol van specialist als die van brede MRO-leverancier vervult
Industrieel dienstverlener Heinen & Hopman Engineering uit Bunschoten is dé wereldwijde specialist op het gebied van klimaatbeheersing
Handicare is een internationale organisatie die ouderen helpt om hun dagelijks leven gemakkelijker te maken door het produceren van hoogwaardige trapliften
Op de hoogte blijven?

Meld u aan voor de gratis nieuwsbrief om op de hoogte te blijven van onze activiteiten