Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: tekst van warning veranderd

Jira Legacy
serverSystem JIRA
serverId62efed92-443f-34ca-9285-b558f8223ac7
keyHLWGP-183

...

Elementtype 'JSON' biedt de mogelijkheid om in een tekstveld als platte tekst een JSON-object te zetten en dit object vervolgens in de feature-info weer uit te lezen (parseren) met behulp van templatetaal Velocity. Het elementtype wordt bij het parseren gebruikt om aan te geven dat de veldwaarde een JSON-object betreft en niet een willekeurige tekststring. Zie de documentatie van Velocity voor meer informatie over hoe je met Velocity een JSON-object kunt uitlezen (zie ook het volgende voorbeeld).

Warning
titleAttentie!

Je kunt elementtype 'JSON' niet gebruiken voor een tekstveld dat 'type' heet. In dat geval kan Velocity de veldwaarde niet als een JSON-object verwerkenIn de code van het JSON-object kun je geen attributen met de naam 'type' gebruiken.


Expand
titleVoorbeeld JSON-tabel ...

Het volgende voorbeeld toont een tekstveld 'json' met als veldwaarde een tabel in de vorm van een JSON-object die in de feature-info met Velocity wordt uitgelezen. Het veld heeft als elementtype 'JSON' en als waarde de volgende JSON-tabel:

Code Block
[
    { "boomid": 1, "meldingen": [{ "mtype": 0, "melding": "schade" }] },
    {
        "boomid": 2,
        "meldingen": [
            { "mtype": 0, "melding": "rommel" },
            { "mtype": 1, "melding": "tak afgebroken" }
        ]
    },
    { "boomid": 3, "meldingen": [] }
]

De tabel is in het tekstveld opgeslagen als platte tekst. De tabel toont de meldingen van een boominspectie en heeft drie records (boom 1, boom 2 en boom 3) met 1 melding voor de eerste boom, 2 meldingen voor de tweede boom en geen meldingen voor de derde boom.

De volgende Velocity-code in de template van de feature-info zal in de feature-info de hele tabel uitlezen:

Code Block
#foreach($row in $json)
<h3>Boom ID: $row.boomid</h3>
  #if ($row.meldingen.Count > 0)
    <ul>
    #foreach($melding in $row.meldingen)
      <li>[type $melding.mtype] $melding.melding</li>
    #end
    </ul>
  #else
    Geen meldingen voor deze boom.
  #end
#end

Velocity maakt daarbij gebruik van de eigenschappen van het JSON-object. 

...