Problema com salvar \\/ num json

Problema de java set para chamar o campo Date em API

package controllers;

import java.io.IOException;
import java.io.StringWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

import com.google.gson.JsonObject;

import controllers.commons.BaseService;
import dto.ReservationDTO;
import play.Play;
import play.libs.WS;
import play.libs.WS.HttpResponse;
import play.libs.WS.WSRequest;
import play.mvc.results.RenderJson;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import okhttp3.FormBody;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class TestDriveSchedule extends BaseService {
public static void saveTestDriveSchedule() {
OkHttpClient client = new OkHttpClient.Builder().build();
String urlSave = Play.configuration.getProperty(“testdrive.url”)+Play.configuration.getProperty(“testdrive.saveSchedule.url”);
HttpUrl url = HttpUrl.parse(urlSave).newBuilder().build();
String oauthToken = session.get(“oauthToken”);
Request request = new Request.Builder()
.method(“OPTIONS”, null)
.url(url.toString())
.header(“Accept”, “application/json”)
.header(“Authorization”, "Bearer " + oauthToken)
.header(“APIKey”, Play.configuration.getProperty(“testdrive.api.key”))
.header(“X-CSRF-Token”, “fetch”)
.build();
Response response;
try {
response = client.newCall(request).execute();
String csrfToken = response.header(“X-CSRF-Token”);
ObjectMapper mapper = new ObjectMapper();
ReservationDTO dto = createReservationObj(new Date());
StringWriter stringEmp = new StringWriter();
mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
mapper.writeValue(stringEmp, dto);
RequestBody body = RequestBody.create(MediaType.get(“application/json”), stringEmp.toString());
JsonNode nodeR = mapper.readTree(stringEmp.toString());

		Request request2 = new Request.Builder()
        		
        .url(url.toString())
        .header("Content-Type", "application/json")
        .header("Accept", "application/json")
        .header("Authorization", "Bearer " + oauthToken)    
        .header("APIKey", Play.configuration.getProperty("testdrive.api.key"))
        .header("X-CSRF-Token", csrfToken)
        .post(body)
        .build();                
        
        response = client.newCall(request2).execute();
        JsonNode node = mapper.readTree(response.body().string()); 
        renderJSON(node);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		renderJSON(e.getMessage());
	}
      
}

private static ReservationDTO createReservationObj(Date date) {
	date.setTime(1545350400000L);
	ReservationDTO reservation = new ReservationDTO();
    reservation.IBukrs = "0001";
    reservation.IStatus = "1";
    reservation.IKunnr = "B05AC00001";
    
    ReservationDTO.IReserv iReserv = reservation.new IReserv();
    iReserv.Zcvin = "9BHBH51DBCP000248";
    iReserv.Partner = "248";
    iReserv.Zccuno = "1111";
    iReserv.Zconpo = "H";
    String td = String.format("\\/Date(%d)\\/", date.getTime());
    
    iReserv.Rdate = td.toString();
    iReserv.Rtime5 = "X";
    iReserv.Status = "R";
    iReserv.ZcommtR = "teste";
    iReserv.Kunnr = "B05AC00001";

    reservation.IReserv = iReserv;    

    return reservation;
}

}

O quando salvo o json ele esta com as duas barras invertidas isso esta pessimo.

Alguém pode me ajudar a salvar uma só

A barra invertida é um char especial no JSON e deve ser escapado. Não tem problema aparecer as duas barras no JSON. Quando for mostrar pro usuário, essa barra desaparece.

O problema é que quando estou enviando para o SAP ele esta considerando duas \

Quando envio o Json {“IBukrs”:“0001”,“IKunnr”:“B05AC00001”,“IStatus”:“1”,“IRsvno”:null,“EReserv”:null,“IReserv”:{“Zcvin”:“9BHBH51DBCP000248”,“Partner”:“248”,“Zccuno”:“1111”,“Zconpo”:“H”,“Status”:“R”,“Rdate”:"\/Date(1545350400000)\/",“Rtime1”:null,“Rtime2”:null,“Rtime3”:null,“Rtime4”:null,“Rtime5”:“X”,“Ddate”:null,“Dtime”:null,“Zcretyno”:null,“ZcretynoName”:null,“Zcommt”:null,“ZcommtR”:“teste”,“ZcommtC”:null,“ZcommtCr”:null,“Rsvno”:null,“Zwash”:null,“Kunnr”:“B05AC00001”}}

funciona corretamente

quando envio o json gerado pela aplicação:

{“IBukrs”:“0001”,“IKunnr”:“B05AC00001”,“IStatus”:“1”,“IRsvno”:null,“EReserv”:null,“IReserv”:{“Zcvin”:“9BHBH51DBCP000248”,“Partner”:“248”,“Zccuno”:“1111”,“Zconpo”:“H”,“Status”:“R”,“Rdate”:"\\/Date(1545350400000)\\/",“Rtime1”:null,“Rtime2”:null,“Rtime3”:null,“Rtime4”:null,“Rtime5”:“X”,“Ddate”:null,“Dtime”:null,“Zcretyno”:null,“ZcretynoName”:null,“Zcommt”:null,“ZcommtR”:“teste”,“ZcommtC”:null,“ZcommtCr”:null,“Rsvno”:null,“Zwash”:null,“Kunnr”:“B05AC00001”}}

não funciona

Isso é um problema comum, o método toString() da classe JsonObject sempre escapa as barras.
Você não postou o código onde de fato envia a String obtida de seu objeto JsonObject, mas sugiro enviar assim:

String stringParaEnviar = meuObjetoJson.toString().replace("\\\\","\\");