Json_GetValue JsonDocumentfunctie

Met Json_GetValue kan een waarde uit een Json document gelezen worden. Het Json document kan een Json object zijn met naam en waarde paren of een Json array. In geval van een object wordt met Json_GetValue de naam van de te lezen waarde opgegeven en in geval van een array de index van een array element.

Json_GetValue(ValueNaamOrArrayIndex, JsonObjectOrArrayStringName, ValueStingName)

ValueNaamOrArrayIndex(MergedString)
In ValueNaamOrArrayIndex wordt de naam van de te lezen waarde vermeld of de index van de Json array.

JsonObjectOrArrayStringName(StringVarName)
In JsonObjectOrArrayStringName wordt de naam van de string vermeld waarin het Json object of de Json array is opgenomen. De waarde van van een Json object begint met een accolade open ({) en van een Json array met een rechte haak open ([).

ValueStringName(StringVarName)
In ValueStringName wordt de naam van de string vermeld waarnaar de gelezen waarde moet worden gekopieerd.

Voorbeeld:
{
 String sJsonDoc, sArray, sVal
 integer iCnt
 Copy(sJsonDoc,
 
"{"
   '
Array1': "["
    
100 ,
    
200 ,
    
300
  
"]",
   '
WaardeXYZ': 'Zomaar een waarde!' ,
   '
Array2': "["
     'ABC' ,
     '
DEF' ,
     '
GHI'
   "]",
 "}"
)
 ReplaceString
(sJsonDoc,"'",$(34))

 Json_GetValue(Array1,sJsonDoc,sArray)
 iCnt = 0
 While Json_GetValue([iCnt],sArray,sVal)
}
[sVal]
{
  iCnt = iCnt + 1
 Wend
 
 Json_GetValue(WaardeXYZ,sJsonDoc,sVal)
}
[sVal]
{
 Json_GetValue(Array2,sJsonDoc,sArray)
 iCnt = 0
 While Json_GetValue([iCnt],sArray,sVal)
}
[sVal]
{
  iCnt = iCnt + 1
 Wend
}

Resultaat:
100
200
300

Zomaar een waarde!

ABC
DEF
GHI