我有一个简单的AJAX调用,服务器将返回一个包含有用数据的JSON字符串,或者返回一个由PHP函数mysql_error()
生成的错误消息字符串。如何测试此数据是JSON字符串还是错误消息。
使用一个名为isJSON
的函数会很好,就像您可以使用函数instanceof
来测试某个东西是否是一个数组一样。
这就是我想要的:
if (isJSON(data)){
//do some data stuff
}else{
//report the error
alert(data);
}
发布于 2021-06-10 21:39:24
如果你不介意lodash
的话
npm i -S lodash
const isPlainObject = require("lodash/isPlainObject"); // cjs
// import {isPlainObject} from "lodash"; // esm
function checkIfJSON(input) {
const inputStr = typeof input === "string" ? input : JSON.stringify(input);
try {
if (isPlainObject(JSON.parse(inputStr))) {
return true;
}
} catch (e) {
return false;
}
}
https://stackoverflow.com/questions/9804777
复制相似问题