37 real(8),
dimension(:),
intent(in) :: arr
39 integer,
intent(out) :: length
41 integer,
intent(in) :: itol
42 character(size(arr)*(itol+9)+2) :: eiram_json_getArrayAsJson
46 eiram_json_getarrayasjson =
" "
47 eiram_json_getarrayasjson(1:1) =
"["
50 write(frm,
'(A3,i2.2,A1,i2.2,A3)')
'(Es',lfld,
'.',itol,
'E3)'
53 eiram_json_getarrayasjson(c:c) =
","
56 if(abs(arr(i)) < huge(1d0))
then
57 write(eiram_json_getarrayasjson(c:c+lfld),frm) arr(i)
59 write(eiram_json_getarrayasjson(c:c+lfld),
'(A)')
"null"
63 eiram_json_getarrayasjson(c:c) =
"]"
64 length = len_trim(eiram_json_getarrayasjson)
70 character(*),
intent(in) :: str
72 integer,
intent(out) :: length
73 character(len_trim(str)*2) :: eiram_json_jsonEscape
76 foreachchar:
do s = 1, len_trim(str)
77 if(str(s:s) ==
'"')
then
78 eiram_json_jsonescape(length:length+1) =
'\'
80 else if(str(s:s) == ')
then
81 eiram_json_jsonescape(length:length+1) =
'\\'
84 eiram_json_jsonescape(length:length) = str(s:s)
88 eiram_json_jsonescape(length:) =
" "
95 character(*),
intent(in) :: name
97 character(*),
intent(in) :: value
99 character(*),
intent(inout) :: jsonString
102 integer,
intent(inout) :: ind
104 intrinsic trim,len_trim,max
109 jsonstring(ind:ind) =
'"'
character(len_trim(str)*2) function, public eiram_json_jsonescape(str, length)
Return the input string where »\« and »"« are escaped with backslashes.
subroutine, public eiram_json_writejsonstringproperty(name, value, jsonString, ind)
Write a pair of the JSON property-(string-)values into a string, including leading comma...
character(size(arr)*(itol+9)+2) function, public eiram_json_getarrayasjson(arr, length, itol)
Return a JSON array string (ie. "[…]") with the elements of the given array arr. ...