diff --git a/sites/all/modules/contrib/services/plugins/export_ui/services_ctools_export_ui.inc b/sites/all/modules/contrib/services/plugins/export_ui/services_ctools_export_ui.inc
index e0fde78..7fbff93 100644
--- a/plugins/export_ui/services_ctools_export_ui.inc
+++ b/plugins/export_ui/services_ctools_export_ui.inc
@@ -107,6 +107,14 @@ function services_ctools_export_ui_form(&$form, &$form_state) {
     '#required'      => TRUE,
   );
 
+  $form['json_array_as_object'] = array(
+    '#type'          => 'checkbox',
+    '#default_value' => $endpoint->json_array_as_object,
+    '#title'         => t('Output empty JSON arrays as empty JSON objects'),
+    '#description'   => t('Useful for clients or client libraries that do not handle an empty objects as empty arrays (for example JAXB and Jackson'),
+    '#required'      => FALSE,
+  );
+
   $form['debug'] = array(
     '#type'          => 'checkbox',
     '#default_value' => $endpoint->debug,
@@ -202,6 +210,7 @@ function services_ctools_export_ui_form_submit(&$form, &$form_state) {
   $endpoint->server = $form_state['values']['server'];
   $endpoint->path   = $form_state['values']['path'];
   $endpoint->debug  = $form_state['values']['debug'];
+  $endpoint->json_array_as_object  = $form_state['values']['json_array_as_object'];
 
   // Set the authentication modules, and preserve the settings for modules
   // that already exist.
diff --git a/sites/all/modules/contrib/services/servers/rest_server/includes/rest_server.views.inc b/sites/all/modules/contrib/services/servers/rest_server/includes/rest_server.views.inc
index b23f191..845bc94 100644
--- a/servers/rest_server/includes/rest_server.views.inc
+++ b/servers/rest_server/includes/rest_server.views.inc
@@ -43,6 +43,13 @@ class RESTServerViewBuiltIn extends RESTServerView {
 
   private function render_json($data, $jsonp = FALSE) {
     $json = str_replace('\\/', '/', json_encode($data));
+
+	$endpoint_name = services_get_server_info('endpoint');
+	$endpoint = services_endpoint_load($endpoint_name);
+	if($endpoint->json_array_as_object) {
+	  $json = preg_replace("/(\".*?\"[\s]*\:[\s]*)\[\s*]/s", "$1{\$2}", $json);
+	}
+
     if ($jsonp && isset($_GET['callback'])) {
       return sprintf('%s(%s);', $_GET['callback'], $json);
     }
diff --git a/sites/all/modules/contrib/services/services.install b/sites/all/modules/contrib/services/services.install
index 042776f..7e870c4 100644
--- a/services.install
+++ b/services.install
@@ -68,6 +68,13 @@ function services_schema() {
          'not null'    => TRUE,
          'default'     => 0
       ),
+      'json_array_as_object' => array(
+       'description' => 'Set the endpoint in JSON array as object mode.',
+         'type'        => 'int',
+         'length'      => 2,
+         'not null'    => TRUE,
+         'default'     => 0
+      ),
     ),
     'primary key' => array('eid'),
     'unique keys' => array(
@@ -146,6 +153,7 @@ function services_uninstall() {
   variable_del('services_use_key');
   variable_del('services_use_sessid');
   variable_del('services_debug');
+  variable_del('json_array_as_object');
   variable_del('services_auth_module');
 }
 
@@ -205,4 +213,14 @@ function services_update_7303() {
 function services_update_7399() {
   $table = 'services_endpoint';
   db_drop_field($table, 'title');
-}
\ No newline at end of file
+}
+
+
+/**
+ * Update 7400 adds json array as object feature to enpoints to facilitate interactions with standard enterprise JSON/REST libs
+ */
+function services_update_7400() {
+  $table = 'services_endpoint';
+  db_add_field($table, 'json_array_as_object', array('type' => 'int', 'not null' => TRUE, 'default' => 0));
+}
+
