• JSON字符串转对象


      

    JSON(JavaScript Object Notation) JavaScript对象标记法;JSON是与JavaScript高度契合的;
    JSON 语法:
        --数组(Array)用"[ ]"表示;
        --对象(Object)用"{ }"表示;
        --名称/值对(name/value)组合成数组和对象;
        --并列的数据用“,”隔开;

    {
      “name”:"kobe",
      "age":38
    }
    

     

    JSON与XML
      JSON相对于XML来说的优势:
          -- 没有结束标签,长度更短,读写更快
          -- 能够直接被JavaScript解释器解析
          -- 可以直接使用数组

      JSON:

        {
    	  “name”:"kobe",
    	  "age":38,
    	  “friends”:["james","wade","bosh"]
    	}
    

      XML:

      <root>
    	<name>kobe</name>	
    	<age>38</age>
    	<friends>james</ftiends>
    	<friends>wade</ftiends>
    	<friends>bosh</ftiends>
      </root>
    

      JSON的解析和生成:

        -- eval()函数:   接收参数后将参数直接当成JavaScript的代码执行;

      <script>
    	var str = "console.log('执行了eval函数')"
    	eval(str);   //控制台上将打印出“执行了eval函数”
      </script>
    

      eval()函数也可以解析json字符串,但是该函数是比较危险的,因为它是将字符串直接运行的。所以一般用该函数解析json字符串的话不是很合理;

      <script>
    	var str = ‘{“name”:"kobe","age":38}’
    	var obj = eval( “(” + str + ")");   // 因为str参数是用大括号括起来的,直接运行的话JavaScript会当成一个代码块运行
    	console.log(obj)
      </script> 

      --JSON.parse()函数解析json字符串,该函数用来解析json字符串是比较合理的,也多数浏览器也兼容;现在推荐使用此函数来解析JSON。

      <script>
    	var str = ‘{“name”:"kobe","age":38}’
    	var obj = JSON.parse(  str );  
    	console.log(obj)
      </script>  

    JSON.parse() 可以有两个参数,第一个是JSON字符串,第二个是个函数。那么该函数有两个参数:name 和 value,分别代表名称和值。当传入一个JSON字符串后,JSON的每一组名称/值对都要调用此函数。注意,该函数一定要有返回值,返回值 将赋值给 当前的名称(name)。一般运用在解析JSON字符串的同时用该函数对数据进行一些处理。

      <script>
      	var str = ‘{“name”:"kobe","age":38}’
    	var obj = JSON.parse( str , fun );
    	function fun (name,value){
    	  if( name == "age" )
    	    value = 40;   
    	  return value;       //一定要有返回值
    	}     //此方法表示在解析JSON时当解析到“age”:38这个名称/值对的时候将该值修改成40;
    	console.log(obj)    //控制台打印出:object {name:"kobe",age:40}
    	</script>
    

      

  • 相关阅读:
    如何提升Web前端性能?
    简述Linux开机启动流程
    教你玩转Linux系统目录结构
    FreeBSD虚拟机 VMware Tools 安装教程
    何为KVM克隆和快照
    Knockout 新版应用开发教程之Computed Observables
    Knockout 新版应用开发教程之Observable与computed
    前端MVC框架Backbone 1.1.0源码分析系列
    Knockout 新版应用开发教程之创建view models与监控属性
    看看国外的javascript题目,你能全部做对吗?
  • 原文地址:https://www.cnblogs.com/tongxuping/p/6026309.html
Copyright © 2020-2023  润新知