Skip to main content

如何验证json字符串是否合法

可能JSON.parse()

对于只需要判断字符串是否是合法的json字符串,不需要解析的

js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//validateWithFunction
validateJSONSyntax(contents) {
try {
// 预检查:基本格式
contents = contents.trim();
// 检查是否以有效的 JSON 字符开头和结尾
if (!contents.startsWith('{') && !contents.startsWith('[')) {
console.log("validateJSONSyntax--1");
return false;
}
if (!contents.endsWith('}') && !contents.endsWith(']')) {
console.log("validateJSONSyntax--2");
return false;
}
// 使用 Function 构造函数验证语法(不实际执行)
new Function(`return ${contents};`);
return true;
} catch (error) {
console.log("validateJSONSyntax--3",error);
return false;
}
}