我知道有parseInt,parseFloat和其他变通办法可以从javascript中的字符串解析 bool(boolean) 值和数组。

当您将对象字符串用于JSON解析器并且结果是具有类型转换值的对象时,我需要的是一种具有类似行为的方法。

这是我想要的:

parseToPrimitive("a string") => "a string"
parseToPrimitive("1") => 1
parseToPrimitive("true") => true
parseToPrimitive("[1, 2, 3]") => [1, 2, 3]

这个或任何库有本机解决方案吗?

最佳答案

这应该工作

function parseToPrimitive(value) {
    try {
        return JSON.parse(value);
    }
    catch(e){
        return value.toString();
    }
}

09-30 21:01