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"}]

 

posted @ 2015-08-30 20:44  NewSea  阅读(281)  评论(0编辑  收藏  举报