Idol之坑
1. 编码格式不统一
Idol的API 是基于 Http 的 Get 调用,输入N多参数,可以吐出Xml和 Json。
由于Idol没有在输出文档中指定编码格式(ContentType),用 HttpWebRequest获取Response可以得到 HttpResponse.Charaterset 会返回 “ISO-8859-1” 编码格式,它是 Tomcat的默认编码格式。如果用这个编码格式会把中文解析成乱码。这也是添加 ResponseFormat=json,浏览器会输出乱码的原因。
Idol需要使用UTF8来进行读取。
对比ES
的输出头上会有 Content-Type:application/json; charset=UTF-8
2. IDol的Api输出DOCUMENT内容的全都是大写。
它这样实现的目的,可能是在和用户查询作比较时,不用关心大小写。但是对我们模型映射造成困难。
3.输出格式不统一
Idol支持两种输出格式: Xml格式,Json格式。
Xml格式,会把数据扁平化。在Document节下面是数据,里面没有子级,如果简历里有工作经历,它是一个列表,那么Idol会输入类似下面的东西。
<id>1</id>
<Company>北京1公司</Company>
<StartAt>2000-1-1</StartAt>
<EndAt>2003-12-30</EndAt>
<id>2</id>
<Company>北京2公司</Company>
<StartAt>2004-1-1</StartAt>
<EndAt>2006-12-30</EndAt>
如果输出Json格式,则更加扯蛋。
它会把值类型改变为: {$:"值"} 对象。如下:
[{id:{$:1},Company:{$:"北京1公司"},StartAt:{$:"2000-1-1"},EndAt:{$:"2003-12-30"},
{id:{$:2},Company:{$:"北京2公司"},StartAt:{$:"2004-1-1"},EndAt:{$:"2006-12-30"}]
Idol之坑的更多相关文章
- 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑
阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- 踩石行动:ViewPager无限轮播的坑
2016-6-19 前言 View轮播效果在app中很常见,一想到左右滑动的效果就很容易想到使用ViewPager来实现.对于像我们常说的banner这样的效果,具备无限滑动的功能是可以用ViewPa ...
- 为C# as 类型转换及Assembly.LoadFrom埋坑!
背景: 不久前,我发布了一个调试工具:发布:.NET开发人员必备的可视化调试工具(你值的拥有) 效果是这样的: 之后,有小部分用户反映,工具用不了(没反应或有异常)~~~ 然后,建议小部分用户换个电脑 ...
- 首个threejs项目-前端填坑指南
第一次使用threejs到实际项目中,开始的时候心情有点小激动,毕竟是第一次嘛,然而做着做着就感受到这玩意水好深,满满的都是坑,填都填不过来.经过老板20天惨无人道的摧残,终于小有成就. 因为第一次搞 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- 关于微软HttpClient使用,避免踩坑
最近公司对于WebApi的场景使用也越来越加大了,随之而来就是Api的客户端工具我们使用哪个?我们最常用的估计就是HttpClient,在微软类库中命名空间地址:System.Net.Http,是一个 ...
随机推荐
- Apache(ApacheHaus)安装配置教程
1,Apache下载 选择一个版本,点击Download 点击File For Microsoft Windows 由于Apache HTTP Server官方不提供二进制(可执行)的发行版,所以我们 ...
- H5测试区别与PC端测试关注点
除了基本的业务逻辑功能测试之后,H5页面的测试,需要关注以下几点: 1. 通过H5网页(非手机的返回功能)的返回功能可以返回,不会出现无法返回的情况. 2. 横屏竖屏相互切换,能自适应,并且布局不 ...
- [翻译]Shape comparison language[转]
link: http://www.cnblogs.com/yhlx125/p/3635623.html Shape comparison language 首先说说我遇到的一个问题: IR ...
- 为什么V8引擎这么快?
目录(?)[-] 高速引擎的需求 语言本身的问题 JIT编译 JIT Compile 垃圾回收管理 内嵌缓存inline cache 隐藏类 内嵌缓存Inline Cache 机器语言的特性 附录熟悉 ...
- Mysql 与日期和时间相关的函数
目录: 常用日期函数 时间加减函数 date_forma函数 1. 常用日期函数 now() current_timestamp() sysdate() 实例一: 从上图可以看出三个函数都是用来获取当 ...
- Diagramming for WinForms 教程一(读取图元数据)
1,新建“Visual c#” Windows窗体应用程序. 2,从“工具箱”的“Diagramming”选项卡下,托出“DiagramView”控件到Form1上.控件的"Name&quo ...
- ExtJs弹出窗口
1.Ext.Msg.alert(String title, String msg, [Function fn], [Object scope]) 显示一个标准的带有一个"确定"按钮 ...
- 我为什么选择使用Go语言?
谢孟军:EGO会员.GopherChina组织者.<Go Web编程>一书的作者,专注Golang技术架构.本文来自EGO会员群分享,入群方式见文末 在这里我主要想和大家分享一些Go和我个 ...
- Reflector 已经out了,试试ILSpy[转]
Reflector是.NET开发中必备的反编译工具.即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善.举例说明,它有一个可以查看程序集完整名称的功 ...
- 完成了第一个java
这是我的第一个java程序,求水仙花数2016-04-26 22:39:09