zoukankan      html  css  js  c++  java
  • 如何使用JSON.parse()和JSON.stringify()

    JSON全称JavaScript Object Notation。JSON是一种人类可读的数据格式,通常用于在Web浏览器,客户端和服务器之间交换数据。大多数现代API使用JSON格式作为输出。这就是为什么JSON成为API输出的流行数据格式的原因。

    JavaScript提供了两种处理JSON内容的方法。解析和字符串化。这些方法是JSON.parse()和JSON.stringify()。

    JSON.parse()方法采用JSON字符串并将其转换为JavaScript对象。
    JSON.stringify()方法接受一个JavaScript对象,并将其转换为JSON字符串。
    1.使用JSON.parse()
    JSON.parse()函数接收输入的JSON数据并将其转换为JavaScript对象。这是将JSON字符串转换为JS对象的简单示例。

    // Store JSON data in a JavaScript variable
    var json = '{"id": 1, "name": "Dan Radak", "country": "United States"}';

    // Convert JSON string to JavaScript object
    var obj = JSON.parse(json);

    // Access individual values from the JavaScript object
    console.log(obj.id); // Outputs: 1
    console.log(obj.name); // Outputs: Dan Radak
    console.log(obj.country); // Outputs: United States
    传递函数–您还可以将函数作为第二(可选)参数传递给JSON.parse()函数,以对每个JSON值执行某些任务。这是一个示例,函数将所有字符串值转换为parse方法的返回对象中的大写形式:

    // Store JSON data in a JavaScript variable
    var json = '{"id": 1, "name": "Dan Radak", "country": "United States"}';

    // Convert JSON string to JavaScript object
    var obj = JSON.parse(json, (key, value) => {
    if (typeof value === 'string') {
    return value.toUpperCase();
    }
    return value;
    });

    // Access individual values from the JavaScript object
    console.log(obj.id); // Outputs: 1
    console.log(obj.name); // Outputs: DAN RADAK
    console.log(obj.country); // Outputs: UNITED STATES
    我们假设,这可以帮助您了解JSON.parse()方法的用法。接下来,学习另一个方法JSON.stringify()来执行与上述相反的操作。

    2.使用JSON.stringify()
    JSON.stringify()方法用于将JavaScript对象转换为JSON字符串。您只需将JavaScript对象传递给此函数即可获取JSON数组。

    这是JSON.stringify()方法的简单示例:

    // Create a JavaScript object
    var obj = {id: 1, name: "Dan Radak", country: "United States"}

    // Converting JS object to JSON string
    var json = JSON.stringify(obj);

    console.log(json);
    //Expected output: {"id":1,"name":"Dan Radak","country":"United States"}
    您还可以传递两个附加参数,一个是替换函数,第二个可以是用于格式化输出的空格值。

    使用替代功能–替代功能用于过滤输出值。例如,您可以创建一个函数并将其作为参数传递。此函数将返回任何未定义的字符串值。

    //JavaScript object
    var obj = {id: 1, name: "Dan Radak", age: 28, country: "United States"}

    function replacer(key, value) {
    // Filtering out properties
    if (typeof value === 'string') {
    return undefined;
    }
    return value;
    }

    // Using a replacer function
    console.log(JSON.stringify(obj, replacer));
    //Expected output: {"id":1, "age": 28}
    使用数组作为替换器–您还可以传递包含一些键名的数组作为替换器。在这里,stringify()函数将仅返回匹配的键-pare值,这些键作为替代发送。

    例如,我们将id和name作为替换函数发送到数组中。在这种情况下,仅将那些值作为JS对象返回,并丢弃其他任何值。

    // Create a JavaScript object
    var obj = {id: 1, name: "Dan Radak", age: 28, country: "United States"}

    // Converting JS object to JSON string with array replacer
    console.log(JSON.stringify(obj, ["id", "name"]));
    //Expected output: {"id":1, "name": "Dan Radak"}
    传递空格参数–您还可以将空格值作为第三个可选参数传递。这有助于使输出更具可读性。

    // Create a JavaScript object
    var obj = {id: 1, name: "Dan Radak", age: 28, country: "United States"}

    // Empty replacer function
    function replacer(key, value) {
    return value;
    }

    // Using optional space argument
    console.log(JSON.stringify(obj, replacer, ' ');
    //Expected output
    //{
    // "id": 1,
    // "name": "Dan Radak",
    // "age": 28,
    // "country": "United States"
    //}

    // Using a tab as space argument
    console.log(JSON.stringify(obj, replacer, ' ');
    //Expected output
    //{
    // "id": 1,
    // "name": "Dan Radak",
    // "age": 28,
    // "country": "United States"
    //}

    以上就是JSON.parse()和JSON.stringify()方法的用法。A5互联https://www.a5idc.net/

  • 相关阅读:
    .gitignore
    composer安装tp各版本(旧版本不能安装)
    教你用Fiddler在电脑上抓手机上的包
    EF 实现Mysql IN功能的两种方式
    C# foreach 底层原理分析及自定义 MyList
    VS2019 控制台程序调试, 报FatalExecutionEngineError错误
    服务器 IIS发布C# webapi网站报404
    C# 实现Get/Post请求
    VS2015 启动本地webapi项目 ,报503
    count(字段) 、count(主键 id)、 count(1)、count(*)
  • 原文地址:https://www.cnblogs.com/a5idc/p/13790428.html
Copyright © 2011-2022 走看看