java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第2列路径$ STRING

时间:2019-07-18 13:09:43

标签: java json gson

我从firebase函数和dialogflow获得了响应,其中包含一些我进一步实现所需的信息。 响应是我保存在mResultFromDialogFlow中的JSON,它是HashMap(字符串,对象)类型变量。

我已经搜索了其他这样的线程,但奇怪的是我的问题出在第2列,而不是第1列,并且在json中看不到问题。 这是gson部分。该错误与“属性”一起抛出!

Gson _gson = new Gson();
String _json = _gson.toJson(mResultFromDialogFlow.get("parameters"));
Properties data = _gson.fromJson(_json, Properties.class);
mTime = data.getProperty("date"); // String type variable
mDateFromUser = data.getProperty("time"); // String type variable

这是响应JSON:

{"date":"2019-07-19T12:00:00+03:00","time":"2019-07-19T14:00:00+03:00"}

1 个答案:

答案 0 :(得分:0)

看起来像一个JSON字符串转换为JSON。我怀疑mResultFromDialogFlow.get(“ parameters”)已经返回JSON字符串。使用toJson(),您可以将JSON字符串转换为JSON。

如果您尝试

Properties data = _gson.fromJson(mResultFromDialogFlow.get("parameters"), Properties.class);

可能会起作用。