I'm sending a RESTful JSON POST request using [Apache HttpClient](http://hc.apache.org/httpcomponents-client-ga/) (to a 3rd party API)

* Should I URL encode the JSON body?
* And if something in the content is already URL encoded (e.g. I send HTML that has some links with URL encoded chars, e.g. @22) should I expect to get the content as is on the other side without it being decoded?

E.g. if i'm doing something like this 

```
String html = "<a href='http://example.com?charOfTheDay=%22'>click me</a>";
// Build the JSON object 

JSONObject jsonObj = new JSONObject();
jsonObj.put("html", html);
jsonObj.put("otherKey",otherValue);
//...

// Create the POST object and add the parameters
HttpPost httpPost = new HttpPost(url);
StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8);
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpPost);

```

Should I expect getting the same value on the receiving end, after getting the value of the "html" key?

e.g. on the receiving end

```
//after parsing the request string to a JSON object
String html = inputJsonObject.get("html") 
// should return "<a href='http://example.com?charOfTheDay=%22'>click me</a>"

```

Are there any other steps I need to do to make sure what I send is what is received "as is"?