Javascript 如何解析Merriam Webster api';什么是JSON响应?
我正在尝试制作一个chrome扩展,用于在Merriam Webster字典中搜索来自web的单词,因此我收到了一个API密钥,并开始为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
上下文菜单编写background.js
以下是一个响应示例:
下面是我创建的示例代码,用于获取所选单词的词干
在mymanifest.json
中:
在mybackground.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