在Javascript中将字符串解析为原始值

mat*_*aso 3 javascript jquery parsing json

我知道有parseInt,parseFloat和其他解决方法来解析javascript中的字符串中的布尔值和数组.

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

这就是我想要的:

parseToPrimitive("a string") => "a string"
parseToPrimitive("1") => 1
parseToPrimitive("true") => true
parseToPrimitive("[1, 2, 3]") => [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

这个或任何图书馆的任何原生解决方案?

Joe*_*Joe 6

这应该工作

function parseToPrimitive(value) {
    try {
        return JSON.parse(value);
    }
    catch(e){
        return value.toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • +1,虽然似乎`value`总是一个字符串,而`toString`是不必要的 (3认同)