Logstash : parse json input from http poller failing

You could try

    json { source => "message" remove_field => [ "message" ] }
    split { field => results }
    split { field => "[results][tables]" }
    split { field => "[results][tables][rows]" }

and then use ruby to move the fields in [results][tables][rows] to the top level, as shown here.