json与js对象的一些对比与区别

来源:互联网 发布:cas云计算管理平台 编辑:程序博客网 时间:2024/06/05 04:02
  1. 文本生成json对象,必须在外面加一对括号。  
  2.   
  3. 因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。  
  4.       
  5.       
  6. js 代码  
  7.    
  8. var myJSONObject = {"bindings": [     
  9.         {"ircEvent""PRIVMSG""method""newURI""regex""^http://.*"},     
  10.         {"ircEvent""PRIVMSG""method""deleteURI""regex""^delete.*"},     
  11.         {"ircEvent""PRIVMSG""method""randomURI""regex""^random.*"}     
  12.     ]     
  13. };     
  14.   
  15. 在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method""regex"。  
  16.   
  17. 在javascript 中, 成员可以通过“点号”来获取。  
  18. 比如:  
  19.   
  20. js 代码  
  21. myJSONObject.bindings[0].method     
  22.   
  23. 通过eval() 函数可以将JSON字符串转化为对象。  
  24.   
  25. js 代码  
  26. var myObject = eval('(' + myJSONtext + ')');     
  27.   
  28. eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问  
  29. 题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可  
  30. 信任的。  
  31.   
  32. 如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受   
  33. JSON 文本。所以是更安全的。  
  34.   
  35. js 代码  
  36.    
  37. var myObject = JSON.parse(myJSONtext, filter);     
  38.   
  39. 可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:  
  40.   
  41.   
  42. js 代码  
  43. myData = JSON.parse(text, function (key, value) {          
  44.   
  45. return key.indexOf('date') >= 0 ? new Date(value) : value;    });    
  46.   
  47. stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。  
  48.   
  49. js 代码  
  50. var myJSONText = JSON.stringifier(myObject);   
  51.   
  52.   
  53.   
  54.   
  55.   
  56. //理解二号:  
  57. JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是   
  58. JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API  
  59.  或工具包。   
  60. JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括  
  61. 号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’  
  62.  对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html  
  63.   
  64.   
  65. 举个简单的例子:  
  66.   
  67. js 代码  
  68. 1.function showJSON() {     
  69. 2.    var user =     
  70. 3.     {     
  71. 4.        "username":"andy",     
  72. 5.        "age":20,     
  73. 6.        "info": { "tel""123456""cellphone""98765"},     
  74. 7.        "address":     
  75. 8.             [     
  76. 9.                 {"city":"beijing","postcode":"222333"},     
  77. 10.                 {"city":"newyork","postcode":"555666"}     
  78. 11.             ]     
  79. 12.     }     
  80. 13.         
  81. 14.     alert(user.username);     
  82. 15.     alert(user.age);     
  83. 16.     alert(user.info.cellphone);     
  84. 17.     alert(user.address[0].city);     
  85. 18.     alert(user.address[0].postcode);     
  86. 19.}     
  87. 这表示一个user对象,拥有username, age, info, address 等属性。  
  88.   
  89. 同样也可以用JSON来简单的修改数据,修改上面的例子  
  90.   
  91. js 代码  
  92. 1.function showJSON() {     
  93. 2.    var user =     
  94. 3.     {     
  95. 4.        "username":"andy",     
  96. 5.        "age":20,     
  97. 6.        "info": { "tel""123456""cellphone""98765"},     
  98. 7.        "address":     
  99. 8.             [     
  100. 9.                 {"city":"beijing","postcode":"222333"},     
  101. 10.                 {"city":"newyork","postcode":"555666"}     
  102. 11.             ]     
  103. 12.     }     
  104. 13.         
  105. 14.     alert(user.username);     
  106. 15.     alert(user.age);     
  107. 16.     alert(user.info.cellphone);     
  108. 17.     alert(user.address[0].city);     
  109. 18.     alert(user.address[0].postcode);     
  110. 19.         
  111. 20.     user.username = "Tom";     
  112. 21.     alert(user.username);     
  113. 22.}     
  114. JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。  
  115.   
  116. js 代码  
  117. 1.function showCar() {     
  118. 2.    var carr = new Car("Dodge""Coronet R/T", 1968, "yellow");     
  119. 3.     alert(carr.toJSONString());     
  120. 4.}     
  121. 5.    
  122. 6.function Car(make, model, year, color)        {     
  123. 7.     this.make   =   make;     
  124. 8.     this.model   =   model;     
  125. 9.     this.year   =   year;     
  126. 10.     this.color   =   color;     
  127. 11.}     
  128. 可以使用eval来转换JSON字符到Object  
  129.   
  130. js 代码  
  131. 1.function myEval() {     
  132. 2.    var str = '{ "name": "Violet", "occupation": "character" }';     
  133. 3.    var obj = eval('(' + str + ')');     
  134. 4.     alert(obj.toJSONString());     
  135. 5.}     
  136. 或者使用parseJSON()方法  
  137.   
  138. js 代码  
  139. 1.function myEval() {     
  140. 2.    var str = '{ "name": "Violet", "occupation": "character" }';     
  141. 3.    var obj = str.parseJSON();     
  142. 4.     alert(obj.toJSONString());     
  143. 5.}     
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新开的淘宝店铺没有生意怎么办 淘宝账号登陆限制用不了花呗怎么办 闲鱼买家签收后说是空盒怎么办 在咸鱼卖东西买家恶意退货怎么办 淘宝联系不上买家物流返回怎么办 换了支付宝绑定手机号退款怎么办啊 淘宝评价错了追评评价错了怎么办 淘宝给客户退款后还给差评怎么办 淘宝账号处于下单保护状态怎么办 淘宝卖家物流单号写错了怎么办 有个人给我发直播消息怎么办 网贷申请多了现在秒拒怎么办 顺丰快递寄的瓜果坏了怎么办 淘宝退货快递公司填错了怎么办 不小心把淘宝账号注销了怎么办 腾讯视频会员开通一个月贵怎么办 微交易买美国指数输了四千块怎么办 淘宝地址中包含了违禁词怎么办 微信支付失败但是钱扣了怎么办 支付宝向别人收款交易关闭了怎么办 从淘宝充的晋江币充值异常怎么办 接手转让店铺会员要求退卡怎么办 转转买手机卖家拒绝退款怎么办 淘宝买的东西电话号码留错了怎么办 平板电脑没电关机没保存文件怎么办 恢复出厂设置需要谷歌账号怎么办 华为手机云端里照片删除了怎么办 客户退货卖家一直没收到货怎么办 在淘宝买到假货投诉不管用怎么办 差评不接电话不回旺旺不要钱怎么办 饿了么同行恶意差评怎么办 苹果手机更新后淘宝用不了怎么办 淘宝网快递丢件了买家怎么办 评价后忘了截图五星好评怎么办 在淘宝被骗了好评返现怎么办 苹果4s微信版本过低怎么办 微信版本太低无法登录怎么办 苹果4微信版本低登录不了怎么办 安卓手机微信版本低登录不了怎么办 苹果微信版本低登录不了怎么办 安装包与当前版本不兼容怎么办