REST API: Unable to decode supplied JSON
I would recommend you to use post instead of get to communicate with the rest api, both because it would allow you to avoid having the keys "in clear" in the get url (and therefore written in the log an so on), but also because you don't have to deal with url encoding of the parameters.

btw, you don't have to put the param in the json most of the time, so you can directly call

https://foo.com/wp-content/plugins/civicrm/civicrm/extern/rest.php?entity=Contact&amp;action=get&amp;api_key=secret1&amp;key=secret2&amp;sequential=1&amp;email=marcin@akcja.pl&amp;json=1