Javascript 如何解析Merriam Webster api';什么是JSON响应?

Javascript 如何解析Merriam Webster api';什么是JSON响应?,javascript,google-chrome-extension,jsonparser,Javascript,Google Chrome Extension,Jsonparser,我正在尝试制作一个chrome扩展,用于在Merriam Webster字典中搜索来自web的单词,因此我收到了一个API密钥,并开始为上下文菜单编写background.js 以下是一个响应示例: 下面是我创建的示例代码,用于获取所选单词的词干 在mymanifest.json中: 在mybackground.js中: 结果: 在这个图像中,我在contextMenu中创建了一个项目 但是,当我按下它时,会出现以下错误: Error in event handler: SyntaxErro

我正在尝试制作一个chrome扩展,用于在Merriam Webster字典中搜索来自web的单词,因此我收到了一个API密钥,并开始为
上下文菜单
编写
background.js

以下是一个响应示例:

下面是我创建的示例代码,用于获取所选单词的词干

在my
manifest.json
中: 在my
background.js
中: 结果: 在这个图像中,我在contextMenu中创建了一个项目

但是,当我按下它时,会出现以下错误:

Error in event handler: SyntaxError: Unexpected end of JSON input
它显示函数
parse(JSON)
中的
JSON.parse(JSON)
导致了错误

我怀疑这是因为整个JSON文本周围都有括号。
有没有办法从文本中获取
词干
项,或者有没有办法删除括号?

所示的示例响应实际上不是JSON,因为它缺少开始和结束大括号。你必须自己添加括号;例如:

更改此项:

parse(xmlhttp.responseText)
为此:

parse('{'+xmlhttp.responseText+'}'))

顺便说一句,我希望拥有
1
声誉的用户所发布的所有问题都能像您的问题一样书写和格式良好。

请发布您自己从API收到的实际JSON(或任何回复,甚至是文本)。您可以看到一个回复示例,这个例子不是一个有效的JSON,因为它缺少周围的
{
}
。非常感谢!我很困惑,因为我对JSON格式不太熟悉。很高兴能帮上忙。如果你喜欢我的答案,你可以点击我帖子左上角的绿色复选标记来奖励我最佳答案。
const apikey = "my_api_key";
var url = "";

function parse(json) {
    var script = JSON.parse(json);
    alert(script.stems.toString())
}

function searchText(info) {
    var xmlhttp = new XMLHttpRequest();
    url = "https://dictionaryapi.com/api/v3/references/collegiate/json/"+info.selectionText+"?key="+apikey;
    
    xmlhttp.open("GET", url, true)
    parse(xmlhttp.responseText)
}

chrome.contextMenus.create({
    title: 'Search "%s" in Dictionary',
    contexts: ['selection'],
    onclick: searchText
})
Error in event handler: SyntaxError: Unexpected end of JSON input