根据你提供的代码,问题可能在于使用了JSON.stringify()将input值转换为字符串后再尝试解析为对象。这会导致无法正确判断输入是否是有效的JSON对象。
可以尝试修改代码如下:
const inputElement = document.getElementById("myInput");
inputElement.addEventListener("blur", function() {
const inputValue = inputElement.value;
try {
const obj = JSON.parse(inputValue);
console.log(obj, 'duhao_____obj');
if (typeof obj === 'object') {
alert('是json对象');
} else {
alert('不是json对象');
}
} catch (error) {
alert('不是有效的JSON对象');
}
});
这样修改后,我们先将输入值直接传给JSON.parse()来尝试解析为JSON对象,并使用try-catch语句来捕获解析错误。如果能成功解析且类型为对象,则显示”是json对象”;否则,显示”不是json对象”或者”不是有效的JSON对象”。这样可以更准确地判断输入是否为合法的JSON格式。
内容由零声教学AI助手提供,问题来源于学员提问