我当前的Json
是共享的,这是request.get
在node.js
中的回复,它位于body
,我想要的只是其中的一部分json
进一步处理也分享如下:
{
"query": "THIS IS MY JSON",
"topScoringIntent": {
"intent": "INTENT",
"score": 0.9796973
},
"intents": [
{
"intent": "INTENT",
"score": 0.9796973
},
{
"intent": "None",
"score": 0.0332397744
},
{
"intent": "ANOTHER INTENT",
"score": 0.0205348358
},
{
"intent": "YET ANOTHER INTENT",
"score": 0.0141741727
},
],
"entities": [
{
"entity": "FIRST ENTITY",
"type": "FIRST TYPE ENTITY",
"startIndex": 38,
"endIndex": 47,
"score": 0.5666461
},
{
"entity": "SECOND ENTITY",
"type": "SECOND TYPE ENTITY",
"startIndex": 20,
"endIndex": 32,
"resolution": {
"values": [
{
"timex": "2017-12-14T04",
"type": "datetime",
"value": "2017-12-14 04:00:00"
}
]
}
}
]
}
我想提取对象实体。
答案 0 :(得分:0)
您只需像任何JavaScript对象一样导航JSON。在如下文档中:
{
"x": "y"
}
然后,您可以使用y
访问json.x
值。在你的情况下,它可能只是:
json.entities
其中json
是表示已解码JSON值的变量。如果它只是一个字符串,JSON.parse
将获取数据。
答案 1 :(得分:0)
您始终可以使用HTTP GET方法:
function httpGetAsync(jsonPathOrUrl, callback)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", jsonPathOrUrl, true); // true for asynchronous
xmlHttp.send(null);
}
function callback(response){
if(response.entities) return response.entities;
}
答案 2 :(得分:0)
您应首先将JSON字符串的主体解析为Javascript对象。
您可以尝试以下代码:
let json = JSON.parse(body);
let entities = json.entities