MappingJacksonJsonView devuelve el objeto json de nivel superior

Me convertí a controlador para usar ContentNegotiatingViewResolver en lugar de MessageConverters para admitir varios tipos de salida. Con json, estoy usando MappingJacksonJsonView:

<bean
    class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
    <property name="order" value="1" />
    <property name="mediaTypes">
        <map>
            <entry key="html" value="text/html"/>
            <entry key="json" value="application/json" />
            <entry key="xml" value="application/xml" />
        </map>
    </property>
    <property name="defaultViews">
        <list>
            <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
            <bean class="org.springframework.web.servlet.view.xml.MarshallingView">
                <constructor-arg>
                    <bean class="org.springframework.oxm.xstream.XStreamMarshaller" />
                </constructor-arg>
            </bean>                         
        </list>
    </property>
    <property name="ignoreAcceptHeader" value="true" />
    <property name="defaultContentType" value="application/json" />
</bean>

Con la siguiente lógica del controlador:

@RequestMapping(value = "/id/{id}", method = RequestMethod.GET)
public ModelAndView getById(@PathVariable (value="id") String id) {
    MyObject ret = doGetById(id);
    ModelAndView modelAndView = new ModelAndView("common/single");
    modelAndView.addObject("myObject", ret);
    return modelAndView;
}

El retorno de json cuando accedo a /id/1234.json es algo como:

{
   myObject: {
        field1:"abc",
        field2:"efg"
   }
}

¿Hay alguna manera de que mi objeto establezca myObject como el nodo de nivel superior para el resultado para que se vea así:

{
    field1:"abc",
    field2:"efg"
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta