0.6.0
Loading...
Searching...
No Matches
mod_json_writer::t_json Type Reference

JSON container. More...

+ Inheritance diagram for mod_json_writer::t_json:

Public Member Functions

generic write write
 Write JSON file.
 
 formatted (json, unit, iotype, v_list, iostat, iomsg)
 
generic up (json)
 Return to parent object.
 
generic add (json, key, integer_value)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, double_value)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, string_value)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, boolean_value)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, integer_array)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, double_array)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, string_array)
 Add item (integer, double, string, boolean, null) or array.
 
generic add (json, key, boolean_array)
 Add item (integer, double, string, boolean, null) or array.
 
procedure add_object (json, key)
 Add an empty object.
 
procedure add_array (json, key)
 Add an empty array.
 
procedure finalize (json)
 Unalloc the structure.
 
final json_finalize (json)
 Destructor.
 

Public Attributes

integer indent_length = 3
 Indentation length (default 3)
 

Private Member Functions

procedure, private json_up (json)
 Return to parent object.
 
procedure, private json_add_integer (json, key, integer_value)
 
procedure, private json_add_integer_array (json, key, integer_array)
 
procedure, private json_add_double (json, key, double_value)
 
procedure, private json_add_double_array (json, key, double_array)
 
procedure, private json_add_string (json, key, string_value)
 
procedure, private json_add_string_array (json, key, string_array)
 
procedure, private json_add_boolean (json, key, boolean_value)
 
procedure, private json_add_boolean_array (json, key, boolean_array)
 
procedure, private json_add_null (json, key)
 
procedure, private add_value (json, json_value, key)
 
procedure, private add_child (json, json_value)
 
procedure, private add_next (json, json_value)
 
procedure, private go_tail (json)
 
procedure, private write_entry (json, lvl, key, text, has_next, unit, iostat, iomsg)
 
procedure, private json_write_formatted (json, unit, iotype, v_list, iostat, iomsg)
 

Private Attributes

type(t_json_value), pointer, private root => null()
 
type(t_json_value), pointer, private current => null()
 
logical, private go_child = .false.
 

Detailed Description

JSON container.

Constructor & Destructor Documentation

◆ json_finalize()

final mod_json_writer::t_json::json_finalize ( type(t_json), intent(inout) json)
final

Destructor.

Parameters
[in,out]jsonJSON container

Member Function/Subroutine Documentation

◆ add() [1/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key )

Add item (integer, double, string, boolean, null) or array.

◆ add() [2/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
logical, dimension(:), intent(in) boolean_array )

Add item (integer, double, string, boolean, null) or array.

◆ add() [3/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
logical, intent(in) boolean_value )

Add item (integer, double, string, boolean, null) or array.

◆ add() [4/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
double precision, dimension(:), intent(in) double_array )

Add item (integer, double, string, boolean, null) or array.

◆ add() [5/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
double precision, intent(in) double_value )

Add item (integer, double, string, boolean, null) or array.

◆ add() [6/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
integer, dimension(:), intent(in) integer_array )

Add item (integer, double, string, boolean, null) or array.

◆ add() [7/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
integer, intent(in) integer_value )

Add item (integer, double, string, boolean, null) or array.

◆ add() [8/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
character(len=*), dimension(:), intent(in) string_array )

Add item (integer, double, string, boolean, null) or array.

◆ add() [9/9]

generic mod_json_writer::t_json::add ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
character(len=*), intent(in) string_value )

Add item (integer, double, string, boolean, null) or array.

◆ add_array()

procedure mod_json_writer::t_json::add_array ( class(t_json), intent(inout) json,
character(len=*), intent(in) key )

Add an empty array.

Parameters
[in,out]jsonJSON container
[in]keyLabel of the array

◆ add_child()

procedure, private mod_json_writer::t_json::add_child ( class(t_json), intent(inout) json,
type(t_json_value), pointer json_value )
private

◆ add_next()

procedure, private mod_json_writer::t_json::add_next ( class(t_json), intent(inout) json,
type(t_json_value), pointer json_value )
private

◆ add_object()

procedure mod_json_writer::t_json::add_object ( class(t_json), intent(inout) json,
character(len=*), intent(in) key )

Add an empty object.

Parameters
[in,out]jsonJSON container
[in]keyLabel of the object

◆ add_value()

procedure, private mod_json_writer::t_json::add_value ( class(t_json), intent(inout) json,
type(t_json_value), pointer json_value,
character(len=*), intent(in) key )
private

◆ finalize()

procedure mod_json_writer::t_json::finalize ( class(t_json), intent(inout) json)

Unalloc the structure.

◆ formatted()

mod_json_writer::t_json::formatted ( class(t_json), intent(in) json,
integer, intent(in) unit,
character(len=*), intent(in) iotype,
integer, dimension(:), intent(in) v_list,
integer, intent(out) iostat,
character(len=*), intent(inout) iomsg )

◆ go_tail()

procedure, private mod_json_writer::t_json::go_tail ( class(t_json), intent(inout) json)
private

◆ json_add_boolean()

procedure, private mod_json_writer::t_json::json_add_boolean ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
logical, intent(in) boolean_value )
private

◆ json_add_boolean_array()

procedure, private mod_json_writer::t_json::json_add_boolean_array ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
logical, dimension(:), intent(in) boolean_array )
private

◆ json_add_double()

procedure, private mod_json_writer::t_json::json_add_double ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
double precision, intent(in) double_value )
private

◆ json_add_double_array()

procedure, private mod_json_writer::t_json::json_add_double_array ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
double precision, dimension(:), intent(in) double_array )
private

◆ json_add_integer()

procedure, private mod_json_writer::t_json::json_add_integer ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
integer, intent(in) integer_value )
private

◆ json_add_integer_array()

procedure, private mod_json_writer::t_json::json_add_integer_array ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
integer, dimension(:), intent(in) integer_array )
private

◆ json_add_null()

procedure, private mod_json_writer::t_json::json_add_null ( class(t_json), intent(inout) json,
character(len=*), intent(in) key )
private

◆ json_add_string()

procedure, private mod_json_writer::t_json::json_add_string ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
character(len=*), intent(in) string_value )
private

◆ json_add_string_array()

procedure, private mod_json_writer::t_json::json_add_string_array ( class(t_json), intent(inout) json,
character(len=*), intent(in) key,
character(len=*), dimension(:), intent(in) string_array )
private

◆ json_up()

procedure, private mod_json_writer::t_json::json_up ( class(t_json), intent(inout) json)
private

Return to parent object.

Parameters
[in,out]jsonJSON container

◆ json_write_formatted()

procedure, private mod_json_writer::t_json::json_write_formatted ( class(t_json), intent(in) json,
integer, intent(in) unit,
character(len=*), intent(in) iotype,
integer, dimension(:), intent(in) v_list,
integer, intent(out) iostat,
character(len=*), intent(inout) iomsg )
private

◆ up()

generic mod_json_writer::t_json::up ( class(t_json), intent(inout) json)

Return to parent object.

Parameters
[in,out]jsonJSON container

◆ write()

generic mod_json_writer::t_json::write

Write JSON file.

◆ write_entry()

procedure, private mod_json_writer::t_json::write_entry ( class(t_json), intent(in) json,
integer, intent(in) lvl,
character(len=*), intent(in) key,
character(len=*), intent(in) text,
logical, intent(in) has_next,
integer, intent(in) unit,
integer, intent(out) iostat,
character(len=*), intent(inout) iomsg )
private

Member Data Documentation

◆ current

type(t_json_value), pointer, private mod_json_writer::t_json::current => null()
private

◆ go_child

logical, private mod_json_writer::t_json::go_child = .false.
private

◆ indent_length

integer mod_json_writer::t_json::indent_length = 3

Indentation length (default 3)

◆ root

type(t_json_value), pointer, private mod_json_writer::t_json::root => null()
private

The documentation for this type was generated from the following file: