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 @   NewSea  阅读(281)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2010-08-30 jquery.query 插件的设计问题。
点击右上角即可分享
微信分享提示