Is it possible to change the fields' names of the JSON generated by Services module? I have a mobile app, which calls a legacy system's HTTP REST interface. Now I replaced the legacy system with Drupal and Services module. I forgot setting field machine name to match mobile app client, however, there is no chance to modify the mobile app. So, as I asked in the title: is there a way to change the fields' names of the JSON generated by Services module?
You can use hook_services_request_postprocess_alter(): http://cgit.drupalcode.org/services/tree/docs/services.alter.api.php?h=7.x-3.x

For example, say you wanted to replace the node title property with nodeTitle when a node is being retrieved, you can do so like this:

/**
 * Implements hook_services_request_postprocess_alter().
 */
function my_module_services_request_postprocess_alter($controller, $args, &amp;$result) {
  if ($controller['callback'] == '_node_resource_retrieve') {
    $result-&gt;nodeTitle = $result-&gt;title;
    unset($result-&gt;title);
  }
}