then i found one way , that is create new template page which called json.php for example . it echoing the data in json formating .
No. You should never make direct requests to php files inside a theme or plugin, and you don't need to create page templates to handle AJAX requests.
If you need to handle a form, make the request to the same page that served the form and inspect the POST/GET variables.
When registering the endpoint, you tell it the name you want for the URL, e.g.
/wp-json/hossein/v1/searchdatabase, and you tell it a function to call when it's used. That function is where you do the searching of your database, and you return the data you want to send to the browser.