zoukankan      html  css  js  c++  java
  • 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>
    

      

  • 相关阅读:
    11.2hadoop监控:日志配置、堆栈跟踪、度量和JMX
    11.1.3hadoop工具dfsadmin、fsck、数据库扫描器、均衡器
    11.1.2hadoop 安全模式
    11.1.1namenode和datanode的数据结构和格式以及镜像fsimage和编辑日志edit
    10.5 hadoop集群基准评测程序测试
    10.4 hadoop安全性kerberos安全验证和委托令牌
    零基础学习python_生成器(49课)
    安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)
    安全测试4_客户端的安全漏洞(XSS、CSRF、点击劫持、URL跳转)
    零基础学习python_魔法方法(41-48课)(迭代器)
  • 原文地址:https://www.cnblogs.com/tongxuping/p/6026309.html
Copyright © 2011-2022 走看看