zoukankan      html  css  js  c++  java
  • 有关javascript中的JSON.parse和JSON.stringify的使用一二

      有没有想过,当我们的大后台只是扮演一个数据库的角色,json在前后台的数据交换中扮演极其重要的角色时,作为依托node的前端开发,其实相当多的时间都是在处理数据,准确地说就是在处理逻辑和数据(这周实习最大的收获)。

      而对于依托json格式传输的数据,处理数据时,用到JSON.strinify和JSON.parse的概率是百分之百。使用这两个方法so easy,但是你真的知道其中一些相关的细节以及其中牵涉到的javascript的知识么?

      JSON.parse用于从一个字符串中解析出json对象

      比如

    var str = '{"name":"huangxiaojian","age":"23"}';
    var str1 = JSON.parse(str);

      如果你在控制台输出str1,你会发现,输出的结果是

    { name="huangxiaojian", age="23"}

      也就是说,输出的是javascript对象。

      事实上,对于str这个字符串是很有讲究的。首先,它必须是个字符串,所以它肯定是被单引号括起来的,而且一般绝对是单引号,理由是:还有一个要求就是字符串的内容必须符合json格式,而json格式就是要求json对象中属性名必须添加双引号

      下面举几个常见的例子:

    //以下str都是无法parse成功的
    var str = {"name": "xiaohu","age": 23};   //不是字符串
    
    var str = '{"name": xiaohu,"age": 23}';   //xiaohu作为字符串没有加引号
    
    var str = '{name: "xiaohu","age": 23}'; //name作为json数据的属性名没有加引号

      JSON.stringify用于从一个对象解析出字符串,说白了,就是把对象转换为字符串。

    var a = {a:1,b:2};
    
    var b = JSON.stringify(a);

      将b从控制台输出,你会看到{"a":1,"b":2},也就是说,JSON.stringify接收一个对象将对象转换成一个字符串,神奇的是,这个结果字符串是满足json格式的。当然,这也就是JSON.stringify中的JSON存在的意义。

      JSON.parse和JSON.stringify注定协同工作。将一个不符合json格式的对象,通过JSON.stringify转换为符合json格式的字符串,然后通过JSON.parse转换为json对象。很多时候,JSON.stringify和JSON.parse就是彼此作为桥梁,完成参数格式的要求,以及转换成对象或字符串以方便完成后续特定的操作。:)

      

  • 相关阅读:
    转char varchar nvarchar区别
    NHibernate和Spring.Net框架介绍(一)
    ASP.NET面试题(一)
    存储过程编写经验和优化措施
    软件工程师不可不知的10个概念
    优化数据库前问自己的10个问题
    ZOJ 1610 Count the Colors (线段树)
    POJ 3667 Hotel (线段树)
    HDU Best Reward (扩展KMP)
    POJ 3277 City Horizon (线段树)
  • 原文地址:https://www.cnblogs.com/Iwillknow/p/3871596.html
Copyright © 2011-2022 走看看