JSON Parser  1.0
boolean default_search_function_array_values ( const void *  element,
const void *  key 
)

This the default search function applied to all JSON Array list_objects, unless an alternative is provided by the caller of parse_json_data_block(), or a different search function is provided for a specific list_object using the D-List function list_set_search_function().

This default search function searches all the value elements of a specified JSON Array List using a combination key of both a JSON_value_type and the appropriate value in an input json_element_t structure.

It will look for an exact match of element, of the same JSON_value_type and the same value instance. So a string will only be compared to a string value, a boolean only to another boolean, etc.

Considerations for usage in JSON Arrays

If searching for a JSON Object within an array, the search will return
the first value found that is a JSON Object, with no other forms of 
comparison performed. The input json_element_t structure must have a value
type of JSON_object and a NULL member_name.

If searching for a JSON Array as a value within an array, the search will
return the first value found that is a JSON Array, with no other forms of 
comparison performed. The input json_element_t structure must have a value
type of JSON_array all other fields are ignored.

If searching for a null value within an array, the search will return
the first value found that is null. The input json_element_t structure must
have a value type of JSON_null all other fields are ignored.

If searching for a other value types within an array, the search will 
return the first value found that matches the value type and value criteria
provided in the input json_element_t structure, which must have a valid value
type and a valid value field for that type. Strings, integers, float strings
and booleans are compared for equality. 

However floating point numbers are more difficult. It is the nature of 
non-integer number representation in computers to be imprecise. Dealing
with these numbers to the accuracy and precision demanded by some areas
of expertise is beyond the scope of this package. This package does however
provide some generally useful default tools, and allows users who need high
precision to easily import/export these values for outside processing, and
also provide their own search and compare functions to augment those 
functions already provided. There are 3 floating point search functions
provided in this package, each varying in its precision for matches. This
general purpose default search function for JSON Array list_objects uses 
the medium precision version of those included default search functions, 
default_search_function_array_double_value()

If a user of the JSON Parser has chosen to not convert exponent numbers,
they will be checked for equality as textural items. This should always 
yield accurate equality results, but it is possible that under some as yet 
unknown circumstances, it may not.

This general purpose, mixed value type search function can also be used on JSON Object lists.

Considerations for usage in JSON Objects

If searching for a JSON Object within an Object, the search will be limited
only to members that have the object name provided and a value of another 
JSON Object. The input json_element_t structure must have a value type of 
JSON_object and a character member_name to compare against. Setting the 
search value_type to JSON_object will cause this search function to ignore
all values in the search.

Setting the value type to any other JSON_xxx value will cause the JSON Object
members to be searched by value only, and the member name will be ignored.
This search function cannot be used to find any random JSON Object member
in a JSON Object. For that you will have to iterate through the list_object
yourself to find what you are looking for.

If you know that you will only be searching arrays for a specific type of value (say text), then it is a lot more efficient to use a value type specific search function instead of this general purpose search function.

This is the ONLY search function that takes a json_element_t structure as the search key. All the others use an independent data value instead.