Como enviar uma solicitação JSON usando o Apache HttpClient?

Eu tenho algo parecido com o seguinte:

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();

Ele continua voltando com um 500. O provedor de serviços diz que eu preciso enviar o JSON. Como isso é feito com o Apache HttpClient 3.1+?