Add an array of character strings to the structure.
This routine is part of the public API that can be used to build a JSON structure using json_value pointers.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(json_core), | intent(inout) | :: | json | |||
type(json_value), | pointer | :: | p | |||
character(kind=CK,len=*), | intent(in) | :: | name | variable name |
||
character(kind=CK,len=*), | intent(in), | dimension(:) | :: | val | array of strings |
|
logical(kind=LK), | intent(in), | optional | :: | trim_str | if TRIM() should be called for each element |
|
logical(kind=LK), | intent(in), | optional | :: | adjustl_str | if ADJUSTL() should be called for each element |
subroutine json_value_add_string_vec(json, p, name, val, trim_str, adjustl_str)
implicit none
class(json_core),intent(inout) :: json
type(json_value),pointer :: p
character(kind=CK,len=*),intent(in) :: name !! variable name
character(kind=CK,len=*),dimension(:),intent(in) :: val !! array of strings
logical(LK),intent(in),optional :: trim_str !! if TRIM() should be called for each element
logical(LK),intent(in),optional :: adjustl_str !! if ADJUSTL() should be called for each element
type(json_value),pointer :: var
integer(IK) :: i !! counter
!create the variable as an array:
call json%create_array(var,name)
!populate the array:
do i=1,size(val)
call json%add(var, CK_'', val(i), trim_str, adjustl_str)
end do
!add it:
call json%add(p, var)
end subroutine json_value_add_string_vec