Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(json_value), | intent(inout), | pointer | :: | me | ||
real(kind=RK), | intent(out) | :: | value |
Get a double value from a json_value.
subroutine json_get_double(me, value)
implicit none
type(json_value),pointer :: me
real(RK),intent(out) :: value
value = 0.0_RK
if ( exception_thrown ) return
select case (me%var_type)
case (json_integer)
value = me%int_value
case (json_double)
value = me%dbl_value
case (json_logical)
if (me%log_value) then
value = 1.0_RK
else
value = 0.0_RK
end if
case default
call throw_exception('Error in json_get_double:'//&
' Unable to resolve value to double: '//me%name)
end select
end subroutine json_get_double