WP JSON REST API (Ryan McCue) how to query posts with specific meta data with 'AND' relation?

I use Wp_query class to query my posts. 15 posts are in a template fetched on page load and their filtering works fine.
Infinity scroll fetches for other posts using JSON restful services. The filter on the server side works fine but I don’t know how to transfer the logic from the server to a proper query.

Meta_query array passed to Wp_query on the server:


  0 =>  array (size=3)
    'key' => string 'homepage' (length=8)
    'value' => string 'false' (length=5)
    'compare' => string 'NOT EXISTS' (length=10)
  1 => array (size=2)
    'key' => string '_newsml_id' (length=10)
    'compare' => string 'NOT EXISTS' (length=10)
  'relation' => string 'AND' (length=3)

How to translate that into the query?
something like:




Solutions Collecting From Web of "WP JSON REST API (Ryan McCue) how to query posts with specific meta data with 'AND' relation?"

Sorry for answering my own question but it may help some other devs too.

I created this additional filter ‘json_query_var-meta_query’that returns the necessary arguments.

function adjustQrry($data){
    $args = array();
    $args['relation'] = 'AND';

    foreach ($data as $key=>$value) {
        if ( 'relation' === $key ) {
            $args['relation'] = $data['relation'];
        if (  substr($key, 0, 3) === 'key' ) {
            $arg_num = substr($key, 3);
            $args[(int)$arg_num]['key'] = $value;
        if (  substr($key, 0, 7) === 'compare' ) {
            $arg_num_comp = substr($key, 7);
            $args[(int)$arg_num_comp]['compare'] = $value;
    return $args;

add_filter('json_query_var-meta_query', 'adjustQrry', 10, 1);

Now, I can call JSON restful like that to mimic the Wp_query posts filter already on the server:



what about WP REST API V2?
I think this is not working on v2!

add_filter('json_query_var-meta_query', 'adjustQrry', 10, 1);

should it be like this?

add_filter('rest_query_vars-meta_query', 'adjustQrry', 10, 1);