java mapper.readtree_Java ObjectMapper.readTree方法代码示例
import org.codehaus.jackson.map.ObjectMapper; //导入方法依赖的package包/类
public ResponseGenerator handleTextMessage() throws Exception {
ResponseGenerator responseGenerator = new ResponseGenerator();
String[] rivescriptReply = helper.getRiveScriptBot().answer(request.getUserId(), textMessage);
for(String reply : rivescriptReply) {
if(Utility.isJSONObject(reply) == true) {
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(reply);
switch (rootNode.get("type").getTextValue()) {
case RiveScriptReplyType.TEMPLATE_SCENARIO:
responseGenerator = new TemplateHandler(request, Utility.split(rootNode.get("name").getTextValue(), Utility.PARAMETER_SEPARATOR), helper)
.handleTemplateMessage();
break;
case RiveScriptReplyType.LANGUAGE_SCENARIO:
responseGenerator = new LanguageHandler(request, rootNode.get("name").getTextValue(), helper)
.handleLanguageAbout();
break;
case RiveScriptReplyType.STATUS_CHECK_SCENARIO:
responseGenerator = new StatusCheckHandler(request, rootNode.get("name").getTextValue(), helper).handleStatusCheck();
break;
case RiveScriptReplyType.LOCATION_SCENARIO:
responseGenerator = new LocationHandler(request, rootNode.get("query").getTextValue(), helper).getLocation();
break;
case RiveScriptReplyType.FALLBACK_SCENARIO:
// Eliza
if(textMessage.endsWith("!") || textMessage.endsWith(".")) {
responseGenerator.addTextResponse(new ResponseData(helper.getEliza().processInput(textMessage)));
}
else {
textMessage = rootNode.get("query").getTextValue(); // Use processed text message
responseGenerator = new NLHandler(request, textMessage, helper).answer();
}
break;
}
}
else {
responseGenerator.addTextResponse(new ResponseData(reply));
}
}
// Fallback when everything else fails Eliza will answer
if(responseGenerator.getResponse().size() == 0) {
responseGenerator.addTextResponse(new ResponseData(helper.getEliza().processInput(textMessage)));
}
return responseGenerator;
}
java mapper.readtree_Java ObjectMapper.readTree方法代码示例相关推荐
- cdate在java中_Java Calendar.add方法代码示例
本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...
- java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例
import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类 /** * 生成更新Sql * @param entity * @ ...
- java中setattribute_Java Files.setAttribute方法代码示例
import java.nio.file.Files; //导入方法依赖的package包/类 @Override public void setFileHiddenAttribute( String ...
- java default locale_Java JSON.defaultLocale方法代码示例
import com.alibaba.fastjson.JSON; //导入方法依赖的package包/类 public void test_time() throws Exception { lon ...
- java sql xml_Java ResultSet.getSQLXML方法代码示例
import java.sql.ResultSet; //导入方法依赖的package包/类 protected Object processColumn(ResultSet rs, int inde ...
- java get timestamp_Java Timestamp.getTime方法代码示例
import java.sql.Timestamp; //导入方法依赖的package包/类 /** * Tests fix for BUG#5874, timezone correction goe ...
- java的setvisible_Java Container.setVisible方法代码示例
import java.awt.Container; //导入方法依赖的package包/类 public static void loadOptions(final String name, fin ...
- java byte xml_Java XMLInputSource.setByteStream方法代码示例
import org.apache.xerces.xni.parser.XMLInputSource; //导入方法依赖的package包/类 /** * Resolves an external p ...
- JAVA中rootpanel_Java JPanel.setFocusCycleRoot方法代码示例
import javax.swing.JPanel; //导入方法依赖的package包/类 @Override public void actionPerformed(ActionEvent e) ...
最新文章
- 高效开发 Dubbo?用 Spring Boot 可得劲!
- 【分析】在线交易开启跨境电商B2B新纪元
- ERP实施过程中的误区 你知道吗?
- 使用DPM还原exchange 2013已删除邮箱数据
- Linux系统直接升级GLIBC版本
- 删除PHP配置文件中的注释行
- 遍历聚合对象中的元素——迭代器模式(四)
- win10电脑浏览器哪个好_电脑WinXP、Win7和Win10,哪个操作系统最好用?
- 借条已经收回,他以没收据为由让我继续还款怎样办?
- oracle 故障 linux,從硬盤安裝Oracle Linux 6.3之軟驅故障
- 使用Qt开发中国象棋(七):网络对战
- 网页设计与制作期末大作业报告——动画家宫崎骏
- OFFPIPE 海底管道铺设计算分析软件
- Python-爬虫(数据库基本操作,爬取豆瓣电影排行)
- 保护眼睛android版本,夜间护眼软件下载-夜间护眼 安卓版v4.9.1-PC6安卓网
- JavaScript数组map方法
- 洛谷P2689 东南西北
- 如何找实习工作?怎么准备?
- 数据报表开发技巧:自动为数据报表添加【小计】、【总计】行
- Aspose.Words 将Word(DOC / DOCX)转换为HTML教程