这是一个关于如何在javascript和typescript中检查一个对象是JSON的简短教程。
JSON是简单的数据,它的键和值都用括号括起来。
JSON对象在javascript中没有类型表示,它们被视为普通的字符串。
有时,我们可能会想到并需要回答以下问题
-
检查一个字符串是否是一个有效的JSON对象
-
找到一个json格式的对象
-
字符串变量是否可以被json解析?
-
Javascript有一个
JSON类,它有一个parse方法来把字符串转换成一个对象。 -
在
try andcatch`块中封闭parse方法 -
如果JSON不能被解析,它会抛出一个错误。
这里有一个函数来检查字符串是否是有效的JSOn 有效的JSON对象返回true,无效的JSON数据返回false。
function isJsonObject(strData) {
try {
JSON.parse(strData);
} catch (e) {
return false;
}
return true;
}
let jsondata = '{"username": "admin"}';
let notjsondata = 'username-admin';
console.log(isJsonObject(jsondata) ); // returns true
console.log(isJsonObject(notjsondata) );// returns false
使用npm库检查对象类型
有许多npm库可以检查本地对象类型。
以下是两个node库:
@sindresorhus/is
kind-of
我们将为 kindOf npm 库写一个例子。
首先,使用npm命令安装。
npm install kind-of --save-dev
这里有一个简单的程序来检查数据的类型
var kindOf = require('kind-of');
console.log(kindOf(12312)); // returns number
console.log(kindOf("test")); // returns string
console.log(kindOf(false)); // returns boolean
kindOf({"username":"admin"}); // object
摘要
总结一下,使用JSOn解析方法了解变量类型是否为JSON对象。
- JSOn解析方法得知变量类型是否为JSON对象
- npm libraries kindOf