webmagic在输出的时候顺序为什么和putfield的顺序不一样
@黄亿华 你好,想跟你请教个问题:webmagic在输出的时候顺序为什么和putfield的顺序不一样,比如我依次压入title,name,lon,lat四个值,但是consolepipeline输出的时候却是lon title lat name....这看不懂啊。。,我看源码,也没有排序的啊,怎么就这么输出了呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
谢谢,意思就是说自己另外写个for循环遍历下,不用他内置的遍历。
回复
只能手动指定key,代码大概这样子: String[] keys = new String[]{"title","name","lon","lat"}; for (String key:keys){ results.get(key); }
回复
明白了
因为ResultItems使用的是HashMap保存结果,HashMap的遍历确实是无序的。我把它改成LinkedHashMap吧,不过这样也只能保证在单机是有序的。
建议是实现Pipeline,手动遍历key读取对应值!