伙计们
我一直在努力处理一些奇怪的事情。我想获取Elasticsearch查询的结果,数据(内部源)。所以这是我的代码的一部分。
SearchResult result = jestClient.execute(search);
JsonObject json = result.getJsonObject();
Map<String, String> map = new HashMap<>();
for (JsonElement jsonElement : json.getAsJsonObject("hits").getAsJsonArray("hits")) {
JsonObject _source = jsonElement.getAsJsonObject().get("_source").getAsJsonObject();
String orderNumber = _source.get("orderNumber").toString();
String equipmentCode = _source.get("equipmentCode").toString();
map.put(orderNumber, equipmentCode);
}
事情是
orderNumber
的值是"ABCDE"
。我期望的是ABCDE
。 (为了清楚起见,两个String都包含带有值的双引号。。。有趣的是在 Debug模式下显示。我刚刚检查了_source中的值,它仍然具有String
"A"
的第一个值...但是orderNumber的第一个值是"""
而第二个值是“A” ...我不知道如何解决这个问题还有有人在帮助我吗?
最佳答案
我正在为自己和将要遇到同样问题的个人负责。我应该使用getAsString()
而不是toString()
...希望我节省了您的时间
关于elasticsearch - 使用jest api进行elasticsearch的结果带有双引号(“value”),但是我想肯定会得到公正的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46396497/