我从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"}
答案 0 :(得分:0)
看起来像一个JSON字符串转换为JSON。我怀疑mResultFromDialogFlow.get(“ parameters”)已经返回JSON字符串。使用toJson()
,您可以将JSON字符串转换为JSON。
如果您尝试
Properties data = _gson.fromJson(mResultFromDialogFlow.get("parameters"), Properties.class);
可能会起作用。