日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單實(shí)現(xiàn)Ruby解析Json

Ruby語言的通途可謂是非常廣泛,而且都能使用簡單靈活的方式幫助我們實(shí)現(xiàn)許多功能需求。Ruby解析Json就可以用一種非常簡單的方法來實(shí)現(xiàn)。#t#

站在用戶的角度思考問題,與客戶深入溝通,找到臨澧網(wǎng)站設(shè)計(jì)與臨澧網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋臨澧地區(qū)。

Ruby解析Json例子:

  1. json = '["a", "B", "C"]'
  2. puts "Unsafe #{unsafe_json
    (json).inspect}" 
  3. #輸出Unsafe 
    ["a", "B", "C"] 

Ruby解析Json把上面的json字符串解析成Array。這樣的方法并不安全,比如:

 
 
 
  1. json = 'puts "Danger 
    Will Robinson"' 
  2. puts "Unsafe #{unsafe_json
    (json).inspect}"  

又該輸出什么呢?很遺憾,解析不出什么東西,跳出一個警告:warning: character class has `[' without escape安全的方法如下:

 
 
 
  1. module SafeJSON   
  2. require 'monitor'   
  3. def SafeJSON.build_safe_json   
  4. ret = nil   
  5. waiter = ''   
  6. waiter.extend(MonitorMixin)   
  7. wait_cond = waiter.new_cond   
  8. Thread.start do   
  9. $SAFE = 4   
  10. ret = Proc.new {|json|   
  11. eval(json.gsub(/(["'])/s*:/s*
    (['"0-9tfn/[{])/){"#{$1}=>#{$2}"}) }   
  12. waiter.synchronize do wait_cond.signal   
  13. end   
  14. end  
  15. waiter.synchronize do wait_
    cond.wait_while { ret.nil? } end   
  16. return ret   
  17. end   
  18. @@parser = SafeJSON.build_safe_json   
  19. # Safely parse the JSON input   
  20. def SafeJSON.parse(input)   
  21. @@parser.call(input)   
  22. rescue SecurityError   
  23. return nil   
  24. end  
  25. end  

包含這個Module,你就可以這樣使用Ruby解析Json:

 
 
 
  1. peoples=SafeJSON.parse('
    {"peoples":[{"name":"site120","
    email":"site120@163.com","sex":"男"},
    {"name":"site120_2","email":"site1
    20@163.com_2","sex":"男_2"}]}')  
  2. puts peoples["peoples"][1]["name"]
     #輸出site120_2 

rails通過RJS內(nèi)置了對AJAX的支持,也許用到j(luò)son的機(jī)會并不多,不過作為一種數(shù)據(jù)交換的方便格式,還是值的注意。


當(dāng)前標(biāo)題:簡單實(shí)現(xiàn)Ruby解析Json
URL網(wǎng)址:http://m.5511xx.com/article/djphopj.html