json_file_load Subroutine

private subroutine json_file_load(me, filename, unit)

Load the JSON data from a file.

Example

     program main
      use json_module
      implicit none
      type(json_file) :: f
      call f%load('my_file.json')
      !...
      call f%destroy()
     end program main

Type Bound

json_file

Arguments

Type IntentOptional Attributes Name
class(json_file), intent(inout) :: me
character(kind=CDK, len=*), intent(in) :: filename

the filename to open

integer(kind=IK), intent(in), optional :: unit

the unit number to use (if not present, a newunit is used)


Calls

proc~~json_file_load~~CallsGraph proc~json_file_load json_file_module::json_file%json_file_load none~load json_value_module::json_core%load proc~json_file_load->none~load proc~json_parse_file json_value_module::json_core%json_parse_file none~load->proc~json_parse_file none~throw_exception json_value_module::json_core%throw_exception proc~json_parse_file->none~throw_exception proc~annotate_invalid_json json_value_module::json_core%annotate_invalid_json proc~json_parse_file->proc~annotate_invalid_json proc~json_check_all_for_duplicate_keys json_value_module::json_core%json_check_all_for_duplicate_keys proc~json_parse_file->proc~json_check_all_for_duplicate_keys proc~json_initialize json_value_module::json_core%json_initialize proc~json_parse_file->proc~json_initialize proc~json_parse_end json_value_module::json_core%json_parse_end proc~json_parse_file->proc~json_parse_end proc~json_prepare_parser json_value_module::json_core%json_prepare_parser proc~json_parse_file->proc~json_prepare_parser proc~json_value_create json_value_module::json_value_create proc~json_parse_file->proc~json_value_create proc~parse_value json_value_module::json_core%parse_value proc~json_parse_file->proc~parse_value proc~json_throw_exception json_value_module::json_core%json_throw_exception none~throw_exception->proc~json_throw_exception proc~wrap_json_throw_exception json_value_module::json_core%wrap_json_throw_exception none~throw_exception->proc~wrap_json_throw_exception proc~get_current_line_from_file_sequential json_value_module::json_core%get_current_line_from_file_sequential proc~annotate_invalid_json->proc~get_current_line_from_file_sequential proc~get_current_line_from_file_stream json_value_module::json_core%get_current_line_from_file_stream proc~annotate_invalid_json->proc~get_current_line_from_file_stream proc~integer_to_string json_string_utilities::integer_to_string proc~annotate_invalid_json->proc~integer_to_string proc~json_traverse json_value_module::json_core%json_traverse proc~json_check_all_for_duplicate_keys->proc~json_traverse proc~json_initialize->none~throw_exception proc~json_initialize->proc~integer_to_string proc~json_clear_exceptions json_value_module::json_core%json_clear_exceptions proc~json_initialize->proc~json_clear_exceptions proc~json_parse_end->none~throw_exception proc~pop_char json_value_module::json_core%pop_char proc~json_parse_end->proc~pop_char proc~parse_value->none~throw_exception proc~parse_array json_value_module::json_core%parse_array proc~parse_value->proc~parse_array proc~parse_for_chars json_value_module::json_core%parse_for_chars proc~parse_value->proc~parse_for_chars proc~parse_number json_value_module::json_core%parse_number proc~parse_value->proc~parse_number proc~parse_object json_value_module::json_core%parse_object proc~parse_value->proc~parse_object proc~parse_string json_value_module::json_core%parse_string proc~parse_value->proc~parse_string proc~parse_value->proc~pop_char proc~push_char json_value_module::json_core%push_char proc~parse_value->proc~push_char proc~to_array json_value_module::json_core%to_array proc~parse_value->proc~to_array proc~to_logical json_value_module::json_core%to_logical proc~parse_value->proc~to_logical proc~to_null json_value_module::json_core%to_null proc~parse_value->proc~to_null proc~to_object json_value_module::json_core%to_object proc~parse_value->proc~to_object proc~to_string json_value_module::json_core%to_string proc~parse_value->proc~to_string proc~json_traverse->none~throw_exception proc~parse_array->none~throw_exception proc~parse_array->proc~json_value_create proc~parse_array->proc~parse_value proc~parse_array->proc~pop_char none~add~2 json_value_module::json_core%add proc~parse_array->none~add~2 none~destroy json_value_module::json_core%destroy proc~parse_array->none~destroy proc~parse_for_chars->none~throw_exception proc~parse_for_chars->proc~pop_char proc~parse_number->proc~json_clear_exceptions proc~parse_number->proc~pop_char proc~parse_number->proc~push_char proc~string_to_dble json_value_module::json_core%string_to_dble proc~parse_number->proc~string_to_dble proc~string_to_int json_value_module::json_core%string_to_int proc~parse_number->proc~string_to_int proc~to_integer json_value_module::json_core%to_integer proc~parse_number->proc~to_integer proc~to_real json_value_module::json_core%to_real proc~parse_number->proc~to_real proc~parse_object->none~throw_exception proc~parse_object->proc~json_value_create proc~parse_object->proc~parse_value proc~parse_object->proc~parse_object proc~parse_object->proc~parse_string proc~parse_object->proc~pop_char proc~parse_object->none~add~2 proc~parse_object->none~destroy proc~parse_string->none~throw_exception proc~parse_string->proc~pop_char proc~unescape_string json_string_utilities::unescape_string proc~parse_string->proc~unescape_string proc~push_char->none~throw_exception proc~push_char->proc~integer_to_string proc~destroy_json_data json_value_module::destroy_json_data proc~to_array->proc~destroy_json_data proc~to_logical->proc~destroy_json_data proc~to_null->proc~destroy_json_data proc~to_object->proc~destroy_json_data proc~to_string->proc~destroy_json_data proc~wrap_json_throw_exception->none~throw_exception interface~to_unicode json_string_utilities::to_unicode proc~wrap_json_throw_exception->interface~to_unicode proc~to_uni json_string_utilities::to_uni interface~to_unicode->proc~to_uni proc~to_uni_vec json_string_utilities::to_uni_vec interface~to_unicode->proc~to_uni_vec proc~json_value_add_string_name_ascii json_value_module::json_core%json_value_add_string_name_ascii none~add~2->proc~json_value_add_string_name_ascii proc~json_value_add_string_val_ascii json_value_module::json_core%json_value_add_string_val_ascii none~add~2->proc~json_value_add_string_val_ascii proc~json_value_add_string_vec_name_ascii json_value_module::json_core%json_value_add_string_vec_name_ascii none~add~2->proc~json_value_add_string_vec_name_ascii proc~json_value_add_string_vec_val_ascii json_value_module::json_core%json_value_add_string_vec_val_ascii none~add~2->proc~json_value_add_string_vec_val_ascii proc~destroy_json_core json_value_module::json_core%destroy_json_core none~destroy->proc~destroy_json_core proc~json_value_destroy json_value_module::json_core%json_value_destroy none~destroy->proc~json_value_destroy proc~string_to_dble->none~throw_exception proc~string_to_real json_string_utilities::string_to_real proc~string_to_dble->proc~string_to_real proc~string_to_int->none~throw_exception proc~string_to_integer json_string_utilities::string_to_integer proc~string_to_int->proc~string_to_integer proc~to_integer->proc~destroy_json_data proc~to_real->proc~destroy_json_data proc~valid_json_hex json_string_utilities::valid_json_hex proc~unescape_string->proc~valid_json_hex proc~json_value_add_string_name_ascii->interface~to_unicode proc~json_value_add_string_name_ascii->none~add~2 proc~json_value_add_string_val_ascii->interface~to_unicode proc~json_value_add_string_val_ascii->none~add~2 proc~json_value_add_string_vec_name_ascii->interface~to_unicode proc~json_value_add_string_vec_name_ascii->none~add~2 proc~json_value_add_string_vec_val_ascii->interface~to_unicode proc~json_value_add_string_vec_val_ascii->none~add~2 proc~json_value_destroy->none~destroy proc~json_value_destroy->proc~destroy_json_data

Source Code

    subroutine json_file_load(me, filename, unit)

    implicit none

    class(json_file),intent(inout)       :: me
    character(kind=CDK,len=*),intent(in) :: filename  !! the filename to open
    integer(IK),intent(in),optional      :: unit      !! the unit number to use
                                                      !! (if not present, a newunit
                                                      !! is used)

    call me%core%load(file=filename, p=me%p, unit=unit)

    end subroutine json_file_load