如何正确检查对象是否被字符串化?JS

2 javascript json stringify

我做了一项研究,奇怪的是我找不到检查对象是否被字符串化的正确方法。

我尝试像这样检查并分配它,但不起作用(它通过验证并只分配 arr_ ):

var arr = arr_ instanceof String ? JSON.parse(arr_) : arr_;
Run Code Online (Sandbox Code Playgroud)

blu*_*yke 5

不确定您的代码有问题。如果变量 arr 是一个新数组 _arr 是一个字符串化对象,那么这就是预期的行为。

如果您想创建一个返回布尔值的函数,说明特定字符串是否表示字符串化对象,请使用 try 和 catch

function isStringified(str) { try { return JSON.parse(str); } catch() { return str } }