绊脚石乃是进身之阶。

调用es restful api进行查询,为什么返回的json结果会把不可见字符转为\u开始的unicode字符串?能够通过配置避免这个问题吗

Elasticsearch | 作者 msngoogleacm | 发布于2019年03月28日 | 阅读数:3883

查询返回的json[{"_scroll_id":"DnF1ZXJ5VGhlbkZldGNoIAAAAAAAC","took":4,"timed_out":false,"_shards":{"total":32,"successful":32,"skipped":0,"failed":0},"hits":{"total":1,"max_score":5.9224715,"hits":[{"_index":"tcpapmssam201903","_type":"ms_sam_bas_tab","_id":"20190325153810msspc2000059","_score":5.9224715,"_source":{"msg_content":"Q\u0006$application/vnd.wap.mms-message@cak160rZT5j0@\u001717323187684/TYPE=PLMN@\u0004@@$V\u0005\u0003\u0003http://211.137.36.215:181/iNeG51@"}}]}}
不可见字符全部变为\u开始的unicode字符串,例如:\u0005,但是对于中文,可见字符没这个问题。查询结果的原始内容见附件图片。
想确认一下通过restful api返回的json,会把哪些字符转为\u开始的unicode字符串?
另通过java client不会有这个问题。
Catch0410(03-26-10-11-22).jpg
已邀请:

rochy - rochy_he

赞同来自: msngoogleacm

理论上讲这部分属于 json 规范的内容,不需要做过多干预,特别对 restful api 而言,一个空格不要紧,
但是回车等却可以破坏 json 结构,所以对字符转义是很必要的
 
你按照 json 反序列化,会自动解析这些 \u 字符的

msngoogleacm

赞同来自:

谢谢,你的意思是这种情况是符合 json 规范的,json解析工具会自动还原为原始字符,不需要特殊处理是吧?

要回复问题请先登录注册