我将文本作为输入并通过文本剃刀API获取响应。现在如何根据单词位置(id)得到单词(字符串)。
此处string和id位于不同的节点中。
注意:此处获取单词位置0,1我想使用Jquery在我的前端显示“The Tiger”
{
"response": {
"sentences": [{
"position": "0",
"words": [{
"position": "0",
"token": "The"
},
{
"position": 1,
"token": "Tiger"
}],
"nounPhrases": [{
"id": "0",
"wordPositions": ["0", "1"]
}]
}]
}
}
var entailments = data["entailmentsAnalysis"];
entailments = JSON.parse(entailments);
var Razorentailments = entailments["response"]["nounPhrases"];
for (var i = 0; i < Razorentailments.count; i++) {
html = '';
html += '<tr><td>' + Razorentailments[i]["wordPositions"] + '</td></tr>'
$("#TextRazorEntailments").append(html);
}
"response": {
"sentences":[],
"nounPhrases":[]
}
答案 0 :(得分:1)
我认为data["entailmentsAnalysis"]
超出您提供的范围,但我已做出相应调整。
编辑 - 调整以适应JSON要求的变化
var entailments = data["entailmentsAnalysis"];
var json = JSON.parse(entailments);
var sentenceList = json["response"]["sentences"];
var nounPhraseList = json["response"]["nounPhrases"];
for (var i = 0; i < nounPhraseList.length; i++) {
for (var j = 0; j < sentenceList.length; j++) {
var html = '<tr><td>';
var wordList = sentenceList[j]["words"];
for (var k = 0; k < wordList.length; k++) {
if (nounPhraseList[i].wordPositions.indexOf(wordList[k].position.toString()) != -1) {
html += wordList[k].token + " ";
}
}
html = html.slice(0, -1);
html += '</td></tr>';
$("#TextRazorEntailments").append(html);
}
}