From 52d3f0929384e9cb6eb5ee3f6f3273edfeaff221 Mon Sep 17 00:00:00 2001 From: Douglas Robert Wallin Date: Thu, 12 Jan 2023 19:22:23 -0500 Subject: [PATCH] docs: fix the serialization issue --- .../aiplatform/PredictTextSentimentAnalysisSample.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/aiplatform/src/main/java/aiplatform/PredictTextSentimentAnalysisSample.java b/aiplatform/src/main/java/aiplatform/PredictTextSentimentAnalysisSample.java index 1d57a65dd7f..de9cd7720fe 100644 --- a/aiplatform/src/main/java/aiplatform/PredictTextSentimentAnalysisSample.java +++ b/aiplatform/src/main/java/aiplatform/PredictTextSentimentAnalysisSample.java @@ -22,6 +22,7 @@ import com.google.cloud.aiplatform.v1.PredictResponse; import com.google.cloud.aiplatform.v1.PredictionServiceClient; import com.google.cloud.aiplatform.v1.PredictionServiceSettings; +import com.google.gson.JsonObject; import com.google.protobuf.Value; import com.google.protobuf.util.JsonFormat; import java.io.IOException; @@ -52,13 +53,16 @@ static void predictTextSentimentAnalysis(String project, String content, String try (PredictionServiceClient predictionServiceClient = PredictionServiceClient.create(predictionServiceSettings)) { String location = "us-central1"; - String jsonString = "{\"content\": \"" + content + "\"}"; + + // Use JsonObject to ensure safe serialization of the content; handles characters like `"`. + JsonObject contentJsonObject = new JsonObject(); + contentJsonObject.addProperty("content", content); EndpointName endpointName = EndpointName.of(project, location, endpointId); Value parameter = Value.newBuilder().setNumberValue(0).setNumberValue(5).build(); Value.Builder instance = Value.newBuilder(); - JsonFormat.parser().merge(jsonString, instance); + JsonFormat.parser().merge(contentJsonObject.toString(), instance); List instances = new ArrayList<>(); instances.add(instance.build());