Procedure | Location | Procedure Type | Description |
---|---|---|---|
add_variables_to_input | jf_test_2_mod | Subroutine | |
annotate_invalid_json | json_module | Subroutine | Generate a warning message if there was an error parsing a JSON file or string. |
compact_real_string | json_module | Subroutine | Compact a string representing a real number, so that the same value is displayed with fewer characters. |
default_comp_ucs4 | json_module | Function | CDK==CK operator. |
default_join_ucs4 | json_module | Function | CDK//CK operator. |
destroy_json_data | json_module | Subroutine | Destroy the data within a json_value, and rest type to |
escape_string | json_module | Subroutine | Add the escape characters to a string for adding to JSON. |
get_current_line_from_file_sequential | json_module | Subroutine | Rewind the file to the beginning of the current line, and return this line. The file is assumed to be opened. This is the SEQUENTIAL version (see also get_current_line_from_file_stream). |
get_current_line_from_file_stream | json_module | Subroutine | Rewind the file to the beginning of the current line, and return this line. The file is assumed to be opened. This is the STREAM version (see also get_current_line_from_file_sequential). |
initialize_json_file | json_module | Function | Cast a json_value object as a json_file object |
integer_to_string | json_module | Subroutine | Convert an integer to a string. |
json_add | json_module | Interface | Add objects to a linked list of json_values. |
json_check_for_errors | json_module | Subroutine | Retrieve error code from the module. This should be called after json_parse to check for errors. If an error is thrown, before using the module again, json_initialize should be called to clean up before it is used again. |
json_clear_exceptions | json_module | Subroutine | Clear exceptions in the JSON module. |
json_clone | json_module | Subroutine | Create a deep copy of a json_value linked-list structure. |
json_count | json_module | Function | Count the number of children. |
json_create_array | json_module | Interface | Allocate a json_value pointer and make it an array variable. The pointer should not already be allocated. |
json_create_double | json_module | Interface | Allocate a json_value pointer and make it a double variable. The pointer should not already be allocated. |
json_create_integer | json_module | Interface | Allocate a json_value pointer and make it an integer variable. The pointer should not already be allocated. |
json_create_logical | json_module | Interface | Allocate a json_value pointer and make it a logical variable. The pointer should not already be allocated. |
json_create_null | json_module | Interface | Allocate a json_value pointer and make it a null variable. The pointer should not already be allocated. |
json_create_object | json_module | Interface | Allocate a json_value pointer and make it an object variable. The pointer should not already be allocated. |
json_create_string | json_module | Interface | Allocate a json_value pointer and make it a string variable. The pointer should not already be allocated. |
json_destroy | json_module | Interface | Destructor routine for a json_value pointer. This must be called explicitly if it is no longer needed, before it goes out of scope. Otherwise, a memory leak will result. |
json_failed | json_module | Function | Logical function to indicate if an exception has been thrown. |
json_file | json_module | Interface | Structure constructor to initialize a json_file object with an existing json_value object |
json_file_destroy | json_module | Subroutine | Destroy the json_file. |
json_file_get_double | json_module | Subroutine | Get a real(RK) variable value from a JSON file. |
json_file_get_double_vec | json_module | Subroutine | Get a real(RK) vector from a JSON file. |
json_file_get_integer | json_module | Subroutine | Get an integer value from a JSON file. |
json_file_get_integer_vec | json_module | Subroutine | Get an integer vector from a JSON file. |
json_file_get_logical | json_module | Subroutine | Get a logical(LK) value from a JSON file. |
json_file_get_logical_vec | json_module | Subroutine | Get a logical(LK) vector from a JSON file. |
json_file_get_object | json_module | Subroutine | Get a json_value pointer to an object from a JSON file. |
json_file_get_root | json_module | Subroutine | Get a json_value pointer to the JSON file root. |
json_file_get_string | json_module | Subroutine | Get a character string from a json file. The output val is an allocatable character string. |
json_file_get_string_vec | json_module | Subroutine | Get a string vector from a JSON file. |
json_file_load | json_module | Subroutine | Load the JSON data from a file. |
json_file_load_from_string | json_module | Subroutine | Load the JSON data from a string. |
json_file_move_pointer | json_module | Subroutine | Move the json_value pointer from one json_file to another. The "from" pointer is then nullified, but not destroyed. |
json_file_print_1 | json_module | Subroutine | Prints the JSON file to the specified file unit number. |
json_file_print_2 | json_module | Subroutine | Print the JSON structure to the specified filename. The file is opened, printed, and then closed. |
json_file_print_to_console | json_module | Subroutine | Print the JSON file to the console. |
json_file_print_to_string | json_module | Subroutine | Print the JSON file to a string. |
json_file_update_integer | json_module | Subroutine | Given the path string, if the variable is present in the file, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_file_update_logical | json_module | Subroutine | Given the path string, if the variable is present in the file, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_file_update_real | json_module | Subroutine | Given the path string, if the variable is present in the file, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_file_update_string | json_module | Subroutine | Given the path string, if the variable is present in the file, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_file_update_string_name_ascii | json_module | Subroutine | Alternate version of json_file_update_string, where "name" is kind=CDK. |
json_file_update_string_val_ascii | json_module | Subroutine | Alternate version of json_file_update_string, where "val" is kind=CDK. |
json_file_variable_info | json_module | Subroutine | Returns information about a variable in a json_file. |
json_get | json_module | Interface | Get data from a json_value linked list. |
json_get_array | json_module | Subroutine | This routine calls the user-supplied array_callback_func subroutine for each element in the array. |
json_get_array_with_path | json_module | Subroutine | This routine calls the user-supplied array_callback subroutine for each element in the array (specified by the path). |
json_get_by_path | json_module | Subroutine | Returns the json_value pointer given the path string. |
json_get_child | json_module | Interface | Get a child, either by index or name string. Both of these return a json_value pointer. |
json_get_double | json_module | Subroutine | Get a double value from a json_value. |
json_get_double_vec | json_module | Subroutine | Get a double vector from a json_value. |
json_get_double_vec_with_path | json_module | Subroutine | Get a double vector from a json_value, given the path. |
json_get_double_with_path | json_module | Subroutine | Get a double value from a json_value, given the path. |
json_get_integer | json_module | Subroutine | Get an integer value from a json_value. |
json_get_integer_vec | json_module | Subroutine | Get an integer vector from a json_value. |
json_get_integer_vec_with_path | json_module | Subroutine | Get an integer vector from a json_value, given the path string. |
json_get_integer_with_path | json_module | Subroutine | Get an integer value from a json_value, given the path string. |
json_get_logical | json_module | Subroutine | Get a logical value from a json_value. |
json_get_logical_vec | json_module | Subroutine | Get a logical vector from json_value. |
json_get_logical_vec_with_path | json_module | Subroutine | Get a logical vector from a json_value, given the path. |
json_get_logical_with_path | json_module | Subroutine | Get a logical value from a json_value, given the path. |
json_get_next | json_module | Subroutine | Returns a pointer to the next of a json_value. If there is no next, then a null() pointer is returned. |
json_get_parent | json_module | Subroutine | Returns a pointer to the parent of a json_value. If there is no parent, then a null() pointer is returned. |
json_get_previous | json_module | Subroutine | Returns a pointer to the previous of a json_value. If there is no previous, then a null() pointer is returned. |
json_get_string | json_module | Subroutine | Get a character string from a json_value. |
json_get_string_vec | json_module | Subroutine | Get a string vector from a json_file. |
json_get_string_vec_with_path | json_module | Subroutine | Get a string vector from a json_file, given the path. |
json_get_string_with_path | json_module | Subroutine | Get a character string from a json_value, given the path. |
json_get_tail | json_module | Subroutine | Returns a pointer to the tail of a json_value. If there is no tail, then a null() pointer is returned. |
json_info | json_module | Subroutine | Returns information about a json_value. |
json_initialize | json_module | Subroutine | Initialize the JSON-Fortran module. The routine must be called before any of the routines are used. It can also be called after using the module and encountering exceptions. |
json_parse | json_module | Interface | Parse the JSON file and populate the json_value tree. |
json_parse_file | json_module | Subroutine | Parse the JSON file and populate the json_value tree. |
json_parse_string | json_module | Subroutine | Parse the JSON string and populate the json_value tree. |
json_print | json_module | Interface | Print the json_value to a file. |
json_print_1 | json_module | Subroutine | Print the json_value structure to a file. |
json_print_2 | json_module | Subroutine | Print the json_value structure to a file. |
json_print_error_message | json_module | Subroutine | Print any error message, and then clear the exceptions. |
json_print_to_string | json_module | Interface | Print the json_value structure to an allocatable string. |
json_remove | json_module | Interface | Remove a json_value from a linked-list structure. |
json_remove_if_present | json_module | Interface | If the child variable is present, then remove it. |
json_throw_exception | json_module | Subroutine | Throw an exception in the JSON module. This routine sets the error flag, and prevents any subsequent routine from doing anything, until json_clear_exceptions is called. |
json_traverse | json_module | Subroutine | Traverse a JSON structure. This routine calls the user-specified traverse_callback_func for each element of the structure. |
json_update | json_module | Interface | These are like json_add, except if a child with the same name is already present, then its value is simply updated. Note that currently, these only work for scalar variables. These routines can also change the variable's type (but an error will be thrown if the existing variable is not a scalar). |
json_update_double | json_module | Subroutine | Given the path string, if the variable is present, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_update_integer | json_module | Subroutine | Given the path string, if the variable is present, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_update_logical | json_module | Subroutine | Given the path string, if the variable is present, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_update_string | json_module | Subroutine | Given the path string, if the variable is present, and is a scalar, then update its value. If it is not present, then create it and set its value. |
json_update_string_name_ascii | json_module | Subroutine | Alternate version of json_update_string, where "name" is kind=CDK. |
json_update_string_val_ascii | json_module | Subroutine | Alternate version of json_update_string, where "val" is kind=CDK. |
json_value_add_double | json_module | Subroutine | Add a real value child to the json_value variable |
json_value_add_double_vec | json_module | Subroutine | Add a real vector to the structure. |
json_value_add_integer | json_module | Subroutine | Add an integer value child to the json_value variable |
json_value_add_integer_vec | json_module | Subroutine | Add an integer vector to the structure. |
json_value_add_logical | json_module | Subroutine | Add a logical value child to the json_value variable |
json_value_add_logical_vec | json_module | Subroutine | Add a logical vector to the structure. |
json_value_add_member | json_module | Subroutine | Adds "member" as a child of "me". |
json_value_add_string | json_module | Subroutine | Add a character string child to the json_value variable. |
json_value_add_string_name_ascii | json_module | Subroutine | Alternate version of json_value_add_string where "name" is kind=CDK. |
json_value_add_string_val_ascii | json_module | Subroutine | Alternate version of json_value_add_string where "val" is kind=CDK. |
json_value_add_string_vec | json_module | Subroutine | Add an array of character strings to the structure. |
json_value_add_string_vec_name_ascii | json_module | Subroutine | Alternate version of json_value_add_string_vec where "name" is kind=CDK. |
json_value_add_string_vec_val_ascii | json_module | Subroutine | Alternate version of json_value_add_string_vec where "val" is kind=CDK. |
json_value_clone_func | json_module | Subroutine | Recursive deep copy function called by json_clone. |
json_value_create | json_module | Subroutine | Allocate a json_value pointer variable. This should be called before adding data to it. |
json_value_create_array | json_module | Subroutine | Allocate a json_value pointer and make it an array variable. The pointer should not already be allocated. |
json_value_create_double | json_module | Subroutine | Allocate a json_value pointer and make it a real(RK) variable. The pointer should not already be allocated. |
json_value_create_integer | json_module | Subroutine | Allocate a json_value pointer and make it an integer(IK) variable. The pointer should not already be allocated. |
json_value_create_logical | json_module | Subroutine | Allocate a json_value pointer and make it a logical(LK) variable. The pointer should not already be allocated. |
json_value_create_null | json_module | Subroutine | Allocate a json_value pointer and make it a null variable. The pointer should not already be allocated. |
json_value_create_object | json_module | Subroutine | Allocate a json_value pointer and make it an object variable. The pointer should not already be allocated. |
json_value_create_string | json_module | Subroutine | Allocate a json_value pointer and make it a string variable. The pointer should not already be allocated. |
json_value_destroy | json_module | Subroutine | Destroy a json_value linked-list structure. |
json_value_get_by_index | json_module | Subroutine | Returns a child in the object or array given the index. |
json_value_get_by_name_chars | json_module | Subroutine | Returns a child in the object or array given the name string. |
json_value_print | json_module | Subroutine | Print the JSON structure to a string or a file. |
json_value_remove | json_module | Subroutine | Remove a json_value (and all its children) from a linked-list structure, preserving the rest of the structure. |
json_value_remove_if_present | json_module | Subroutine | Given the path string, remove the variable from the json_value structure, if it exists. |
json_value_to_string | json_module | Subroutine | Print the json_value structure to an allocatable string. |
parse_array | json_module | Subroutine | Core parsing routine. |
parse_for_chars | json_module | Subroutine | Core parsing routine. |
parse_number | json_module | Subroutine | Read a numerical value from the file (or string). The routine will determine if it is an integer or a double, and allocate the type accordingly. |
parse_object | json_module | Subroutine | Core parsing routine. |
parse_string | json_module | Subroutine | Parses a string while reading a JSON file. |
parse_value | json_module | Subroutine | Core parsing routine. |
pop_char | json_module | Function | Get the next character from the file (or string). |
push_char | json_module | Subroutine | Core routine. |
read_file | jf_test_9_mod | Subroutine | Reads the contents of the file into the allocatable string str. If there are any problems, str will be returned unallocated. |
real_to_string | json_module | Subroutine | Convert a real value to a string. |
rename | jf_test_14_mod | Subroutine | change all "name" variable values to "Fred" |
string_to_double | json_module | Function | Convert a string into a double. |
string_to_integer | json_module | Function | Convert a string into an integer. |
test_1 | jf_test_1_mod | Subroutine | Read a sample JSON file and retrieve some data from it |
test_10 | jf_test_10_mod | Subroutine | Test some of the lesser-used features of the library |
test_11 | jf_test_11_mod | Subroutine | Read the file and extract some data from it. |
test_12 | jf_test_12_mod | Subroutine | |
test_13 | jf_test_13_mod | Subroutine | Tests different real format strings using repeated calls to json_initialize. |
test_14 | jf_test_14_mod | Subroutine | Tests the traversal of a JSON structure |
test_2 | jf_test_2_mod | Subroutine | Populate a JSON structure and write it to a file. |
test_3 | jf_test_3_mod | Subroutine | Read the file generated in test_2, and extract some data from it. |
test_4 | jf_test_4_mod | Subroutine | Populate a JSON structure, write it to a file, then read it. |
test_5 | jf_test_5_mod | Subroutine | Github issue example: https://github.com/josephalevin/fson/issues/12 |
test_6 | jf_test_6_mod | Subroutine | This example tries to read an invalid JSON file. |
test_7 | jf_test_7_mod | Subroutine | Indent test |
test_8 | jf_test_8_mod | Subroutine | read a JSON structure from a string |
test_9 | jf_test_9_mod | Subroutine | Open a random JSON file generated by http://www.json-generator.com |
throw_exception | json_module | Interface | Throw an exception. |
to_array | json_module | Subroutine | Change the json_value variable to an array. |
to_double | json_module | Subroutine | Change the json_value variable to a double. |
to_integer | json_module | Subroutine | Change the json_value variable to an integer. |
to_logical | json_module | Subroutine | Change the json_value variable to a logical. |
to_null | json_module | Subroutine | Change the json_value variable to a null. |
to_object | json_module | Subroutine | Change the json_value variable to an object. |
to_string | json_module | Subroutine | Change the json_value variable to a string. |
to_uni | json_module | Function | Convert string to unicode (CDK to CK). |
to_uni_vec | json_module | Function | Convert array of strings to unicode (CDK to CK). |
to_unicode | json_module | Interface | Convert a 'DEFAULT' kind character input to 'ISO_10646' kind and return it |
ucs4_comp_default | json_module | Function | CK==CDK operator. |
ucs4_join_default | json_module | Function | CK//CDK operator. |
unescape_string | json_module | Subroutine | Remove the escape characters from a JSON string and return it. |
valid_json_hex | json_module | Function | Returns true if the string is a valid 4-digit hex string. |
wrap_json_file_get_double | json_module | Subroutine | Alternate version of json_file_get_double, where "path" is kind=CDK. |
wrap_json_file_get_double_vec | json_module | Subroutine | Alternate version of json_file_get_double_vec, where "path" is kind=CDK. |
wrap_json_file_get_integer | json_module | Subroutine | Alternate version of json_file_get_integer, where "path" is kind=CDK. |
wrap_json_file_get_integer_vec | json_module | Subroutine | Alternate version of json_file_get_integer_vec, where "path" is kind=CDK. |
wrap_json_file_get_logical | json_module | Subroutine | Alternate version of json_file_get_logical, where "path" is kind=CDK. |
wrap_json_file_get_logical_vec | json_module | Subroutine | Alternate version of json_file_get_logical_vec, where "path" is kind=CDK. |
wrap_json_file_get_object | json_module | Subroutine | Alternate version of json_file_get_object, where "path" is kind=CDK. |
wrap_json_file_get_string | json_module | Subroutine | Alternate version of json_file_get_string, where "path" is kind=CDK. |
wrap_json_file_get_string_vec | json_module | Subroutine | Alternate version of json_file_get_string_vec, where "path" is kind=CDK. |
wrap_json_file_load_from_string | json_module | Subroutine | Alternate version of json_file_load_from_string, where "str" is kind=CDK. |
wrap_json_file_update_integer | json_module | Subroutine | Alternate version of json_file_update_integer, where "name" is kind=CDK. |
wrap_json_file_update_logical | json_module | Subroutine | Alternate version of json_file_update_logical, where "name" is kind=CDK. |
wrap_json_file_update_real | json_module | Subroutine | Alternate version of json_file_update_real, where "name" is kind=CDK. |
wrap_json_file_update_string | json_module | Subroutine | Alternate version of json_file_update_string, where "name" and "val" are kind=CDK. |
wrap_json_file_variable_info | json_module | Subroutine | Alternate version of json_file_variable_info, where "path" is kind=CDK. |
wrap_json_get_array_with_path | json_module | Subroutine | Alternate version of json_get_array_with_path, where "path" is kind=CDK |
wrap_json_get_by_path | json_module | Subroutine | Alternate version of json_get_by_path where "path" is kind=CDK. |
wrap_json_get_double_vec_with_path | json_module | Subroutine | Alternate version of json_get_double_vec_with_path, where "path" is kind=CDK |
wrap_json_get_double_with_path | json_module | Subroutine | Alternate version of json_get_double_with_path, where "path" is kind=CDK |
wrap_json_get_integer_vec_with_path | json_module | Subroutine | Alternate version of json_get_integer_vec_with_path, where "path" is kind=CDK |
wrap_json_get_integer_with_path | json_module | Subroutine | Alternate version of json_get_integer_with_path, where "path" is kind=CDK. |
wrap_json_get_logical_vec_with_path | json_module | Subroutine | Alternate version of json_get_logical_vec_with_path, where "path" is kind=CDK |
wrap_json_get_logical_with_path | json_module | Subroutine | Alternate version of json_get_logical_with_path, where "path" is kind=CDK |
wrap_json_get_string_vec_with_path | json_module | Subroutine | Alternate version of json_get_string_vec_with_path, where "path" is kind=CDK |
wrap_json_get_string_with_path | json_module | Subroutine | Alternate version of json_get_string_with_path, where "path" is kind=CDK |
wrap_json_parse_string | json_module | Subroutine | Alternate version of json_parse_string, where "str" is kind=CDK. |
wrap_json_throw_exception | json_module | Subroutine | Alternate version of json_throw_exception, where "msg" is kind=CDK. |
wrap_json_update_double | json_module | Subroutine | Alternate version of json_update_double, where "name" is kind=CDK. |
wrap_json_update_integer | json_module | Subroutine | Alternate version of json_update_integer, where "name" is kind=CDK. |
wrap_json_update_logical | json_module | Subroutine | Alternate version of json_update_logical, where "name" is kind=CDK. |
wrap_json_update_string | json_module | Subroutine | Alternate version of json_update_string, where "name" and "value" are kind=CDK. |
wrap_json_value_add_double | json_module | Subroutine | Alternate version of json_value_add_double where "name" is kind=CDK. |
wrap_json_value_add_double_vec | json_module | Subroutine | Alternate version of json_value_add_double_vec where "name" is kind=CDK. |
wrap_json_value_add_integer | json_module | Subroutine | Alternate version of json_value_add_integer where "name" is kind=CDK. |
wrap_json_value_add_integer_vec | json_module | Subroutine | Alternate version of json_value_add_integer_vec where "name" is kind=CDK. |
wrap_json_value_add_logical | json_module | Subroutine | Alternate version of json_value_add_logical where "name" is kind=CDK. |
wrap_json_value_add_logical_vec | json_module | Subroutine | Alternate version of json_value_add_logical_vec where "name" is kind=CDK. |
wrap_json_value_add_string | json_module | Subroutine | Alternate version of json_value_add_string where "name" and "val" are kind=CDK. |
wrap_json_value_add_string_vec | json_module | Subroutine | Alternate version of json_value_add_string_vec where "name" and "val" are kind=CDK. |
wrap_json_value_create_array | json_module | Subroutine | A wrapper for json_value_create_array so that json_create_array may be called with an actual argument, corresponding to the dummy argument 'name', that is either of 'DEFAULT' or 'ISO_10646' character kind. |
wrap_json_value_create_double | json_module | Subroutine | A wrapper for json_value_create_double so that json_create_double may be called with an actual argument corresponding to the dummy argument, 'name' that may be of 'DEFAULT' or 'ISO_10646' character kind. |
wrap_json_value_create_integer | json_module | Subroutine | A wrapper procedure for json_value_create_integer so that json_create_integer may be called with either a 'DEFAULT' or 'ISO_10646' character kind 'name' actual argument. |
wrap_json_value_create_logical | json_module | Subroutine | Wrapper for json_value_create_logical so json_create_logical can be called with name of character kind 'DEFAULT' or 'ISO_10646' |
wrap_json_value_create_null | json_module | Subroutine | Wrap json_value_create_null so that json_create_null may be called with an actual argument corresponding to the dummy argument 'name' that is either of 'DEFAULT' or 'ISO_10646' character kind. |
wrap_json_value_create_object | json_module | Subroutine | Wrap json_value_create_object so that json_create_object may be called with an actual argument corresponding to the dummy argument 'name' that is of either 'DEFAULT' or 'ISO_10646' character kind. |
wrap_json_value_create_string | json_module | Subroutine | Wrap json_value_create_string so that json_create_string may be called with actual character string arguments for 'name' and 'val' that are BOTH of 'DEFAULT' or 'ISO_10646' character kind. |
wrap_json_value_get_by_name_chars | json_module | Subroutine | Alternate version of json_value_get_by_name_chars where "name" is kind=CDK. |
wrap_json_value_remove_if_present | json_module | Subroutine | Alternate version of json_value_remove_if_present, where "name" is kind=CDK. |