【问题标题】:How to get string based on id from json如何从json中获取基于id的字符串
【发布时间】:2017-12-06 07:50:34
【问题描述】:

我将文本作为输入并通过文本剃刀 API 获得响应。现在如何根据单词位置(id)获取单词(字符串)。

这里的string和id在不同的节点。

注意:这里获取单词位置 0,1 我想使用 Jquery 在前端显示“The Tiger”

JSON

{
    "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);
        } 

我的 Json 格式

"response": {
        "sentences":[],
         "nounPhrases":[]
}

【问题讨论】:

  • 欢迎来到 Stack 交流!发布问题时,请尝试清楚地解释您要完成的工作,尝试的内容以及出了什么问题。在这里,您似乎错过了问题所在。
  • “你试过的”部分也不见了。这是一个编码作业,而不是一个问题。
  • 是的,现在添加了,你可以检查一下吗

标签: c# jquery json


【解决方案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);
    }

}

【讨论】:

  • 不工作,因为 (var j = 0; j
  • 你能再检查一下我的问题吗。添加了我的 json 格式。 @Tubs您发布的答案 ["response"]["sentences"] 是 root。但是那个是错误的。我在我的问题中添加了我的 json 格式。
  • 您在顶部的“JSON”标题下的 JSON 不正确。在那个例子中,名词短语确实是句子的孩子。请确保所有示例都是准确的,否则任何帮助都将毫无用处。
  • 我已修改代码以使用您的“JSON 格式”示例而不是您的“JSON”示例
  • tq 我得到了解决方案...!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
相关资源
最近更新 更多