JavaScript 检查字符串是否为有效的JSON字符串

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();

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程