JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。 由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

JSON                                                                                                                      语则:

数据在 名称/值 对仲 数据由逗号分隔 花括号保存对象 方括号保存数组

JSON 名称/值 对介绍

"name":"张飞", "age":23

Json的值可以是:

数字(整数或浮点数) 字符串(要包括在双引号中) 逻辑值(true或false) 数组(在方括号中) 对象(在花括号中)

Json转javascript对象的方法为:

eval("(" + str + ")");

代码示例:

 
  1. <html>
  2. <head>
  3. <title>Json测试</title>
  4. <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
  5. <script type="text/javascript">
  6. //基本上,Json返回的要么是对象,要么是数组,如果单纯返回一个字符串,那么就没有必要用Json了,因此
  7. //Json基本就下面这些可,不过要注意双引号
  8. var str0 = "{employees:'测试'}";
  9. var obj0 = eval("(" + str0 + ")");
  10. alert(obj0.employees); //输出测试
  11.  
  12. var str = "{name:'张三',Age:21}";
  13. var obj = eval("(" + str + ")");
  14. document.write(obj.name + obj.Age); //输出 张三21
  15. alert(obj.name);
  16.  
  17. //别看下面那段Json长,其实是一个对象,属性employees的值是一个对象数组。和上面的相比,只是name:张三 中的"张三"字符串 变成了对象数组而已
  18. var str2 = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
  19. var obj2 = eval("(" + str2 + ")");
  20. alert(obj2.employees[0].firstName); //弹出 Bill
  21.  
  22. var str3 = "[1,2,3,4,5,6]"; //json 数组
  23. var obj3 = eval("(" + str3 + ")"); //输出 2
  24. alert(obj3[1]);
  25. </script>
  26. </head>
  27. <body>
  28. <div id="div1">
  29. </div>
  30. </body>
  31. </html>
 

Json与JavaScript对象转换

  JSON转javascript对象

 
  1. //Json转对象1
  2. function JsonToObject(str) {
  3. return eval("(" + str + ")");
  4. }
  5.  
  6. //Json转对象2
  7. function strToJson(str){
  8. var json = (new Function("return " + str))();
  9. return json;
  10. }
  11.  
  12. //Json转对象3 jQuery工具函数
  13. $.parseJSON()
 

  javascript对象转JSON

 
  1. //javascript对象转Json
  2. function ObjectToJson(o) {
  3. var arr = [];
  4. var fmt = function(s) {
  5. if (typeof s == 'object' && s != null) return json2str(s);
  6. return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
  7. }
  8. for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
  9. return '{' + arr.join(',') + '}';
  10. }

Json之语法的更多相关文章

  1. Json的语法及使用方法

    Json的语法及使用方法 Json(JavaScript Object Notation)对象表示标识,是一种轻量级的数据交换语言,比XML更容易解析,独立于语言和平台. 语法规则: 对象用{}保存 ...

  2. JSON.stringify 语法实例讲解+easyui data-options属性+expires【申明:来源于网络】

    JSON.stringify 语法实例讲解+easyui data-options属性+expires[申明:来源于网络] JSON.stringify 语法实例讲解:http://www.jb51. ...

  3. JSON字符串语法

    JSON 语法是 JavaScript 对象表示语法的子集. 数据在键/值对中展示, 多个数据由逗号分隔, 花括号保存一个对象, 方括号保存一个数组 JSON具有以下形式: 1. 对象(object) ...

  4. 【js】JSON.stringify 语法实例讲解

    语法:  JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为 ...

  5. JSON.stringify语法解析(自己留存)

    语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为2 ...

  6. JSON.stringify 语法实例讲解

    语法:  JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为 ...

  7. [转]JSON.stringify 语法实例讲解

    原文地址:http://www.jb51.net/article/29893.htm 作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类 ...

  8. JSON 基本语法

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  9. JSON.stringify 语法实例讲解 字符串

    语法: JSON.stringify(value [, replacer] [, space]) var student = new Object(); student.name = "La ...

  10. Json之语法,格式

    JSON 文本格式在语法上与创建 JavaScript 对象的代码相同.由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 Jav ...

随机推荐

  1. 简话Angular 04 Angular过滤器详解

    一句话: filter是万能的数据处理器,可以过滤数据,排序数据,删除数据,扩展数据 1. 内置filter大全 url: https://docs.angularjs.org/api/ng/filt ...

  2. 线程正常终止pthread_exit,pthread_join,pthread_kill,pthread_cancel,sigwait,sigaddset

    int pthread_join(pthread_t thread, void **retval); int pthread_detach(pthread_t thread); void pthrea ...

  3. scrapy-redis基础和介绍

    一.scrapy-redis(0.6)依赖的环境 Scrapy >= 1.0.0                #终于过了1版本,这个太重要了,总算坑小了点,感谢那些为了解决各种scrapy与s ...

  4. 离线部署 Cloudera Manager 5 和 CDH 5.12.1 及使用 CDH 部署 Hadoop 集群服务

    Cloudera Manager Cloudera Manager 分为两个部分:CDH和CM. CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera ...

  5. 关于Kynseed

    简介:故事发生在Quill地区,玩家将扮演一个家族中的好几代人.你可以在游戏中选择自己的性别,建立农场,成立家族,探索这片土地中的秘密.游戏特色包括不断衰老的世界.所有生物都拥有记忆,并且会不断变老. ...

  6. bga

    本文记录在bga布线的难题. 1一开始就要预留好布线局域. 最近出现布线太密,修改时就麻烦了. http://bbs.elecfans.com/jishu_521995_1_1.html

  7. axios 拦截 , 页面跳转, token 验证

    第一步: 路由 多添加一个自定义字段 requireAuth path: '/repository', name: 'repository', meta: { requireAuth: true, / ...

  8. PHP 之 Ci框架下隐藏index.php

    1. 修改 apache 配置文件 开启重写模块 conf/httpd.conf 去掉前面的# LoadModule rewrite_module modules/mod_rewrite.so 对于U ...

  9. kafka知识点整理总结

    kafka知识点整理总结 只不过是敷衍 2017-11-22 21:39:59 kafka知识点整理总结,以备不时之需. 为什么要使用消息系统: 解耦 并行 异步通信:想向队列中放入多少消息就放多少, ...

  10. 1.1.1 A+B for Input-Output Practice (I)

    A+B for Input-Output Practice (I) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...