The other option would be to have the JSON generation view accept a query string and re-generate the result/JSON, instead of passing the result data to the view. This would duplicate some calculation work but simplify the URLs immensely.