javascript 处理json

第一种:对象模式

Js代码 复制代码
  1. <script type="text/javascript">   
  2.    //1.首先json 格式一定要这样写,尽管说这只是其中的一种方式   
  3.   var json = {"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"value/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"}    
  4.   json = eval(json.options)// 注意options,如果不写Options ,下面的写法就是json.options.length   
  5.   for(var i=0; i<json.length; i++)   
  6.   {   
  7.      alert(json[i].text+" " + json[i].value)//访问   
  8.   }   
  9. </script>  

 

第二中:数组

 

Js代码 复制代码
  1. <script type="text/javascript">   
  2.    //1.首先json 格式一定要这样写,尽管说这只是其中的一种方式   
  3.   var json = "[/"1/",/"2/"]"  
  4.   //2.访问   
  5.   json = eval(json)   
  6.    alert(json[0]);//1   
  7.    alert(json[1]);//2   
  8. </script>  

  因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。
   
   

js 代码
 
  1. var myJSONObject = {"bindings": [  
  2.         {"ircEvent""PRIVMSG""method""newURI""regex""^http://.*"},  
  3.         {"ircEvent""PRIVMSG""method""deleteURI""regex""^delete.*"},  
  4.         {"ircEvent""PRIVMSG""method""randomURI""regex""^random.*"}  
  5.     ]  
  6. };  


在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method""regex"。

在javascript 中, 成员可以通过“点号”来获取。
比如:
JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

js 代码
  1. myJSONObject.bindings[0].method  


通过eval() 函数可以将JSON字符串转化为对象。

js 代码
  1. var myObject = eval('(' + myJSONtext + ')');  


eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。

如果基于安全的考虑的话,最好是使用一个

js 代码
 
  1. var myObject = JSON.parse(myJSONtext, filter);  


可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:


stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
JSON parser and JSON stringifier

js 代码
  1. myData = JSON.parse(text, function (key, value) {       
    1. return key.indexOf('date') >= 0 ? new Date(value) : value;    }); 

 

js 代码
  1. var myJSONText = JSON.stringifier(myObject);  


这里是一个开源的

  • json2.rar (3.2 KB)
  • 描述: 一个开源的 JSON parser and JSON stringifier
  • 下载次数: 1050
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值