读取带空格的字符串时获取com.google.gson.stream

我正在使用Cloud Firestore存储数据。当我尝试读取字符串中带有空格的数据时,出现以下错误消息:


    java.lang.reflect.InvocationTargetException

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:564)

    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:473)

    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:372)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:564)

    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:941)

Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 79

    at com.google.gson.Gson.fromJson(Gson.java:769)

    at POS.Firebase.readCounts(Firebase.java:47)

    at POS.Main.main(Main.java:52)

    ... 11 more

Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 79

    at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1298)

    at com.google.gson.stream.JsonReader.nextInObject(JsonReader.java:722)

    at com.google.gson.stream.JsonReader.peek(JsonReader.java:382)

    at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:349)

    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:169)

    at com.google.gson.Gson.fromJson(Gson.java:755)


当我在数据库中输入数据时,有没有一种方法可以在不添加引号的情况下存储数据


慕码人2483693
浏览 312回答 2
2回答

慕雪6442864

documentSnapshot.getData()的返回类型为Map。要将Map转换为json对象,只需将值传递给JSONObect构造函数,如下所示 JSONObject jsonObject = new JSONObject(map);现在您将要面对的问题是Map的键是字符串,但值是Object,它将在您的JSONObject中打印一些随机值。因此,最好的方法是迭代地图,获取值并从中创建对象。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java