Cast a json_value object as a json_file object.
It also calls the initialize()
method.
initialize_json_core, json_initialize, initialize_json_core_in_file, and initialize_json_file all have a similar interface.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(json_value), | intent(in), | optional | pointer | :: | p |
|
logical(kind=LK), | intent(in), | optional | :: | verbose | mainly useful for debugging (default is false) |
|
logical(kind=LK), | intent(in), | optional | :: | compact_reals | to compact the real number strings for output (default is true) |
|
logical(kind=LK), | intent(in), | optional | :: | print_signs | always print numeric sign (default is false) |
|
character(kind=CDK,len=*), | intent(in), | optional | :: | real_format | Real number format: 'E' [default], '*', 'G', 'EN', or 'ES' |
|
integer(kind=IK), | intent(in), | optional | :: | spaces_per_tab | number of spaces per tab for indenting (default is 2) |
|
logical(kind=LK), | intent(in), | optional | :: | strict_type_checking | if true, no integer, double, or logical type
conversions are done for the |
|
logical(kind=LK), | intent(in), | optional | :: | trailing_spaces_significant | for name and path comparisons, is trailing space to be considered significant. (default is false) |
|
logical(kind=LK), | intent(in), | optional | :: | case_sensitive_keys | for name and path comparisons, are they case sensitive. (default is true) |
|
logical(kind=LK), | intent(in), | optional | :: | no_whitespace | if true, printing the JSON structure is done without adding any non-significant spaces or linebreaks (default is false) |
|
logical(kind=LK), | intent(in), | optional | :: | unescape_strings | If false, then the raw escaped string is returned from json_get_string and similar routines. If true [default], then the string is returned unescaped. |
|
character(kind=CK,len=1), | intent(in), | optional | :: | comment_char | If present, this character is used
to denote comments in the JSON file,
which will be ignored if present.
Example: |
|
integer(kind=IK), | intent(in), | optional | :: | path_mode | How the path strings are interpreted in the
|
|
character(kind=CK,len=1), | intent(in), | optional | :: | path_separator | The |
|
logical(kind=LK), | intent(in), | optional | :: | compress_vectors | If true, then arrays of integers,
nulls, doubles, and logicals are
printed all on one line.
[Note: |
function initialize_json_file(p,verbose,compact_reals,&
print_signs,real_format,spaces_per_tab,&
strict_type_checking,&
trailing_spaces_significant,&
case_sensitive_keys,&
no_whitespace,&
unescape_strings,&
comment_char,&
path_mode,&
path_separator,&
compress_vectors) result(file_object)
implicit none
type(json_file) :: file_object
type(json_value),pointer,optional,intent(in) :: p !! `json_value` object to cast
!! as a `json_file` object
#include "json_initialize_arguments.inc"
call file_object%initialize(verbose,compact_reals,&
print_signs,real_format,spaces_per_tab,&
strict_type_checking,&
trailing_spaces_significant,&
case_sensitive_keys,&
no_whitespace,&
unescape_strings,&
comment_char,&
path_mode,&
path_separator,&
compress_vectors)
if (present(p)) file_object%p => p
end function initialize_json_file