JavaScript 检查字符串是否为有效的JSON字符串
为了检查一个字符串是否为有效的JSON字符串,我们使用 JSON.parse() 方法,并进行一些变化。 JSON.parse() 方法将解析一个JSON字符串,并构造由字符串指定的JavaScript值或对象。之前可以提供一个reviver函数,对返回的对象进行一些更改。以下是几种方法实现:
检查字符串是否为有效的JSON字符串的方法:
- 使用JSON.parse()方法
- 使用JSON.stringify()方法
方法1:使用JSON.parse()方法
在JavaScript中, JSON.parse()方法 用于解析以JSON格式编写的JSON字符串,并返回一个JavaScript对象。
语法:
JSON.parse( text, function)
示例1: 此示例通过创建一个函数,利用 JSON.parse() 方法检查JSON字符串的有效性。
// Input sting
let str = '{ "prop_1": "val_1", "prop_2": "val_2" }';
console.log("Input string is : " + str);
// Function to test string
function testJSON(text) {
if (typeof text !== "string") {
return false;
}
try {
JSON.parse(text);
return true;
} catch (error) {
return false;
}
}
// Function to display output
function gfg_Run() {
console.log(testJSON(str));
}
// Function call
gfg_Run();
输出
Input string is : { "prop_1": "val_1", "prop_2": "val_2" }
true
示例2: 此示例返回 false ,因为属性值 val_1 不是字符串。
// Input sting
let str = '{ "prop_1": val_1, "prop_2": "val_2" }';
console.log("Input string is : " + str);
// Function to test string
function isJSON(str) {
try {
return JSON.parse(str) && !!str;
} catch (e) {
return false;
}
}
// Function to display output
function gfg_Run() {
console.log(isJSON(str));
}
// Function call
gfg_Run();
输出
Input string is : { "prop_1": val_1, "prop_2": "val_2" }
false
示例3: 此示例通过使用 JSON.parse() 方法和文本的 typechecking 来返回 true 。
// Input sting
let str = '{ "prop_1": 1, "prop_2": "val_2" }';
console.log("Input string is : " + str);
// Function to test string
function isJSON(str) {
try {
return JSON.parse(str) && !!str;
} catch (e) {
return false;
}
}
// Function to display output
function gfg_Run() {
console.log(isJSON(str));
}
// Function call
gfg_Run();
输出
Input string is : { "prop_1": 1, "prop_2": "val_2" }
true
方法2:使用 JSON.stringify() 方法
在 JavaScript 中,JSON.stringify() 方法用于将其转换为 JSON 字符串。
语法:
JSON.stringify(value, replacer, space);
示例:
在这个示例中,我们将尝试使用JSON.stringify()方法将给定的对象转换为字符串
// Input sting
let str = '{ "prop_1": val_1, "prop_2": "val_2" }';
console.log("Input string is : " + str);
// Function to test string
function isJSON(str) {
try {
JSON.stringify(JSON.parse(str));
return true;
} catch (e) {
return false;
}
}
// Function to display output
function gfg_Run() {
console.log(isJSON(str));
}
// Function call
gfg_Run();