gpt4 book ai didi

javascript - 如何在可能是简单字符串或字符串对象的字符串对象上安全地使用 JSON.parse?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:19 25 4
gpt4 key购买 nike

我需要能够解析对象格式或纯字符串格式的字符串。最安全的方法是什么?

我试过 JSON.parse(data) 但它在数据是纯字符串的情况下不起作用。


编辑 - 选择的解决方案

谢谢你,这就是我解决问题的方法:

try {
dataObj = JSON.parse(data);
} catch (err) {
if (typeof data === "object") {
dataObj = data;
} else {
dataObj = {};
}
}

最佳答案

为自己创建一个辅助函数并使用它。

function parseValue(value) {
try
{
return JSON.parse(value);
}
catch (ex)
{
// JSON format was invalid
// handle errors is you need to
}

return value;
}

如果您足够勇敢,您还可以扩展 String.prototype,这样调用它就会变得非常简单。

String.prototype.parseJSON = String.prototype.parseJSON || function() {
try
{
return JSON.parse(this);
}
catch (ex)
{
// JSON format was invalid
// handle errors is you need to
}

return this;
};

然后您只需这样调用它:

// string in a variable
var s = "Some non-JSON string";
s.parseJSON();
// string literal
'{"b":true,"n":1}'.parseJSON();

关于javascript - 如何在可能是简单字符串或字符串对象的字符串对象上安全地使用 JSON.parse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31501608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com