[From string (line 18) ] @startuml !unquoted function $dump ($id) !$data={"participants" :[ {"id": "cm" ,"label": "customer master","desc": "manages customers"}, {"id": "tm" ,"label": "transaction manager","desc": "manages transactions"}, {"id": "am" ,"label": "account master","desc": "manages accounts"} ]} !foreach $part in $data.participants !if $part.id == $id class dump { - $part.id + $part.label () + $part.desc () } !endif !endfor !endfunction ^^^^^ This function does not have any !return directive. Declare it as a procedure instead ?