Gere JSON bonito (recuado) com serde

Usando oserde_json caixa, eu posso usar

::serde_json::to_string(&obj)

serializar um objeto em uma sequência JSON. O JSON resultante usa formatação compacta, como:

{"foo":1,"bar":2}

Mas como eu gero JSON bonito / recuado? Por exemplo, eu gostaria de obter o seguinte:

{
  "foo": 1,
  "bar": 2
}