Is there a D7/Services module for sane field content I/O? For instance, a GET request to the standard endpoint node/1.json returns an object with fields like this:

{
   ...

   "field_my_field":{
      "und":[
         {
            "value":"yucky"
         }
      ]
   }

   ...
}


To build an easy to use API, we would want to GET and POST objects with fields like this:

{
   ...

   "my_field": "clean"

   ...
}


It would be easy to implement the vast majority of field types this way. I thought there was a module for this, but I can't find it.
With the Services module, no. However you could build a Page display with Views datasource, that accepts a node id as a contextual filter. The fields you specify in the View can then be configured to "clean up" the property name (or just turn off the label to use the machine name of the field), and then the value will be "flat".