- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Spring Boot 中有一个使用 java 的项目。我正在使用 Spring Boot 2.1.4。我使用 REST
实现了第三方设备并调用了它们的 API。 .我在 Elasticsearch 中存储了响应。我正在使用 Elasticsearch 7.3。
我有一个从 Elasticsearch 和前端获取数据的 API 将调用这个 API 并呈现数据,它基本上是 JSON
来自第三方 API 的数据。现在我想构建一个可以返回搜索结果的 API。例如有人输入 ip
在搜索框中然后我必须找到 ip
来自 JSON
数据不是来自 Elasticsearch 并将结果返回到前端。
我知道如何从弹性中搜索数据,但我已经获取了数据并进行了渲染。这是另一个用于搜索数据的 API,我想从渲染数据中搜索数据。所以它基本上是来自 JSON
的关键字搜索使用 java 获取数据。我研究了很多,但找不到任何相关的东西。
{
"data": {
"attributes": {
"last_analysis_results": {
"AlienVault": {
"category": "harmless",
"engine_name": "AlienVault",
"method": "blacklist",
"result": "clean"
},
"BADWARE.INFO": {
"category": "harmless",
"engine_name": "BADWARE.INFO",
"method": "blacklist",
"result": "clean"
},
"CINS Army": {
"category": "harmless",
"engine_name": "CINS Army",
"method": "blacklist",
"result": "clean"
},
"CLEAN MX": {
"category": "harmless",
"engine_name": "CLEAN MX",
"method": "blacklist",
"result": "clean"
},
"Cisco Talos IP Blacklist": {
"category": "harmless",
"engine_name": "Cisco Talos IP Blacklist",
"method": "blacklist",
"result": "clean"
},
"DNS8": {
"category": "harmless",
"engine_name": "DNS8",
"method": "blacklist",
"result": "clean"
},
"ESTsecurity-Threat Inside": {
"category": "harmless",
"engine_name": "ESTsecurity-Threat Inside",
"method": "blacklist",
"result": "clean"
},
"Fortinet": {
"category": "harmless",
"engine_name": "Fortinet",
"method": "blacklist",
"result": "clean"
},
"GreenSnow": {
"category": "harmless",
"engine_name": "GreenSnow",
"method": "blacklist",
"result": "clean"
},
"IPsum": {
"category": "harmless",
"engine_name": "IPsum",
"method": "blacklist",
"result": "clean"
},
"Kaspersky": {
"category": "harmless",
"engine_name": "Kaspersky",
"method": "blacklist",
"result": "clean"
},
"Nucleon": {
"category": "harmless",
"engine_name": "Nucleon",
"method": "blacklist",
"result": "clean"
},
"OpenPhish": {
"category": "harmless",
"engine_name": "OpenPhish",
"method": "blacklist",
"result": "clean"
},
"Phishtank": {
"category": "harmless",
"engine_name": "Phishtank",
"method": "blacklist",
"result": "clean"
},
"Quick Heal": {
"category": "harmless",
"engine_name": "Quick Heal",
"method": "blacklist",
"result": "clean"
},
"Sophos": {
"category": "harmless",
"engine_name": "Sophos",
"method": "blacklist",
"result": "clean"
},
"Tencent": {
"category": "harmless",
"engine_name": "Tencent",
"method": "blacklist",
"result": "clean"
},
"URLhaus": {
"category": "harmless",
"engine_name": "URLhaus",
"method": "blacklist",
"result": "clean"
}
},
"last_analysis_stats": {
"harmless": 75,
"malicious": 0,
"suspicious": 0,
"timeout": 0,
"undetected": 0
},
"last_modification_date": 1587640540,
"reputation": 0,
"tags": [
"private"
],
"total_votes": {
"harmless": 0,
"malicious": 0
},
"whois": "NetRange: 10.0.0.0 - 10.255.255.255\nCIDR: 10.0.0.0/8\nNetName: PRIVATE-ADDRESS-ABLK-RFC1918-IANA-RESERVED\nNetHandle: NET-10-0-0-0-1\nParent: ()\nNetType: IANA Special Use\nOriginAS: \nOrganization: Internet Assigned Numbers Authority (IANA)\nRegDate: \nUpdated: 2013-08-30\nComment: These addresses are in use by many millions of independently operated networks, which might be as small as a single computer connected to a home gateway, and are automatically configured in hundreds of millions of devices. They are only intended for use within a private context and traffic that needs to cross the Internet will need to use a different, unique address.\nComment: \nComment: These addresses can be used by anyone without any need to coordinate with IANA or an Internet registry. The traffic from these addresses does not come from ICANN or IANA. We are not the source of activity you may see on logs or in e-mail records. Please refer to http://www.iana.org/abuse/answers\nComment: \nComment: These addresses were assigned by the IETF, the organization that develops Internet protocols, in the Best Current Practice document, RFC 1918 which can be found at:\nComment: http://datatracker.ietf.org/doc/rfc1918\nRef: https://rdap.arin.net/registry/ip/10.0.0.0\nOrgName: Internet Assigned Numbers Authority\nOrgId: IANA\nAddress: 12025 Waterfront Drive\nAddress: Suite 300\nCity: Los Angeles\nStateProv: CA\nPostalCode: 90292\nCountry: US\nRegDate: \nUpdated: 2012-08-31\nRef: https://rdap.arin.net/registry/entity/IANA\nOrgAbuseHandle: IANA-IP-ARIN\nOrgAbuseName: ICANN\nOrgAbusePhone: +1-310-301-5820 \nOrgAbuseEmail: abuse@iana.org\nOrgAbuseRef: https://rdap.arin.net/registry/entity/IANA-IP-ARIN\nOrgTechHandle: IANA-IP-ARIN\nOrgTechName: ICANN\nOrgTechPhone: +1-310-301-5820 \nOrgTechEmail: abuse@iana.org\nOrgTechRef: https://rdap.arin.net/registry/entity/IANA-IP-ARIN\n",
"whois_date": 1585897644
},
"id": "10.2.2.2",
"links": {
"self": "https://www.virustotal.com/api/v3/ip_addresses/10.2.2.2"
},
"type": "ip_address"
}
}
JSON
数据和每次结构都会不同,每个对象的键也会不同。
JSON
数据,第二个是搜索文本。所以它应该看起来像
@PostMapping(value = "/search")
public Object keywordSearch(@RequestBody JSONObject object, @RequestParam String s) throws Exception
{
String string = object.toJSONString();
// next operation
}
JSON
的搜索文本用于向前端提供结果的数据。
最佳答案
这可能对您有所帮助,我对此进行了测试,因此我认为这对您有用。
@PostMapping(value = "/search")
public Object keywordSearch(@RequestBody JSONObject object, @RequestParam String s) throws Exception {
String js = object.toJSONString();
JSONArray resultArray = new JSONArray();
JSONObject jObj1 = (JSONObject) new JSONParser().parse(js);
JSONObject jObj2 = new JSONObject();
JSONObject jObj3 = new JSONObject();
Iterator<?> setOfObject = jObj1.keySet().iterator();
while (setOfObject.hasNext()) {
String key = (String) setOfObject.next();
if (jObj1.get(key) instanceof JSONObject) {
jObj2 = (JSONObject) jObj1.get(key);
getKeyAndValues(jObj2.toJSONString(), s);
}
if (jObj1.get(key) instanceof JSONArray) {
JSONArray jArr = (JSONArray) jObj1.get(key);
Iterator<?> setOfArray = jArr.iterator();
while (setOfArray.hasNext()) {
jObj3 = (JSONObject) setOfArray.next();
getKeyAndValues(jObj3.toJSONString(), s);
}
} else {
if (key.contains(s)) {
resultArray.add(key);
}
if (jObj1.get(key).equals(s)) {
resultArray.add(jObj1.get(key));
}
}
}
return resultArray;
}
If this will work then let me know.
关于java - Spring Boot + Java : Keyword Based Search from JSON data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62226765/
import csv import numpy as np from sklearn.svm import SVR import matplotlib.pyplot as plt dates = []
我在 ANTLRWorks 1.4 中有以下语法。我正在考虑在文本冒险游戏创建器中实现解析器的想法,其中用户将为他的游戏指定各种允许的命令。 grammar test; parse :
我有一个 .dat 文件,我首先想将其转换为 .csv 文件,然后根据时间绘制一些行,我的脚本如下: import pandas as pd import numpy as np from sys i
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法 前言:
我有一个我无法理解的问题,因此在删除按钮中,尝试在创建按钮后将其删除的地方,出现以下错误: Delete=Button(root,text='Delete',command=lambda : S.pa
我想将某个函数作为线程运行,但我得到了 SyntaxError: non-keyword arg after keyword arg 我不明白为什么: #!/usr/bin/env python im
我试图在 scrappy 中抓取多个页面,我的函数确实返回第一个起始网址,但我无法设法使蜘蛛的规则生效。 这是我到目前为止所拥有的: import scrapy from scrapy.contrib
我正在使用 emeditor,我试图从法语维基百科转储 .xml 文件(20GB,3.38 亿行,总共 480 万篇文章)中分离出大约 200 万篇包含 keyword3 的文章。我想将文本包含在 2
发布表如下所示: publications ============ id title etc ... 关键字表如下所示: keywords ======== id name etc ... keyw
我有这个功能: def crypting(self, client, access_token, client_id, client_secret, oauth_scope, redirect_uri
我正在学习 Rails,但在以下代码中出现语法错误 unexpected keyword else, expected keyword end,我不知道为什么。
我正在一个网站上工作,我必须在数据库中搜索根域上/之后的字符串。我在文档中找不到任何有关它的信息。我正在尝试使其与 Iron Router 一起使用,但任何其他建议都会起作用。 感谢您的帮助! 编辑:
我刚刚找到有关 apache solr 的信息,并且在我成功安装了带有 Tomcat 的 apache Solr 之后。然后我开始使用 Apache Solr 进行搜索。 但我对 Apache Sol
我是 Angular JS 新手。我无法弄清楚过滤器如何仅对对象中的名称起作用,而不是对对象中的电话键起作用。就好像我们在 ng-model 中仅使用关键字一样,它将过滤范围中定义的对象中的名称和电话
当我运行以下代码行时,我试图将按钮按下绑定(bind)到 Tkinter 中的函数 get = Button(root, lambda: ChangeColour(boxes[1][2], boxes
response = requests.post("http://api.bf3stats.com/pc/player/", data = player, opt) 在 python IDLE 中运行
这是我正在操作的更新查询。此处错误“set data = :updateValue”,数据是 Dynamo DB 的保留关键字。我想我应该在这里使用 update ExpressionAttribut
根据维基百科,二元运算符 ?:是 colloquially referred to as the Elvis operator due to its resemblance to an emotico
我知道 AND 词定义了二进制 and ...但什么定义了逻辑and ? 最佳答案 同一个字,AND , 也用于逻辑与。但是这两个输入值要AND推荐为格式良好的标志 ; 真和 假 由两个值表示,位全部
反引号运算符的固定性是什么? 例如在 Real World Haskell 的这段代码中: ghci> (1+) `fmap` [1,2,3] ++ [4,5,6] [2,3,4,4,5,6] 很明显
我是一名优秀的程序员,十分优秀!