¿Cómo POSTAR la solicitud JSON usando Apache HttpClient?

Tengo algo como lo siguiente:

final String url = "http://example.com";

final HttpClient httpClient = new HttpClient();
final PostMethod postMethod = new PostMethod(url);
postMethod.addRequestHeader("Content-Type", "application/json");
postMethod.addParameters(new NameValuePair[]{
        new NameValuePair("name", "value)
});
httpClient.executeMethod(httpMethod);
postMethod.getResponseBodyAsStream();
postMethod.releaseConnection();

Sigue regresando con un 500. El proveedor de servicios dice que necesito enviar JSON. ¿Cómo se hace con Apache HttpClient 3.1+?

Respuestas a la pregunta(3)

Su respuesta a la pregunta