>

简单实现Ruby解析Json

- 编辑:正版管家婆马报彩图 -

简单实现Ruby解析Json

Ruby语言的通道可谓是非常广泛,况且都能选拔简便利落的措施扶助大家贯彻广大效应供给。Ruby解析Json就能够用大器晚成种非常轻巧的不二秘籍来实现。

  • Ruby特殊语法概念分析
  • Ruby获取当前类名代码示例深入解析
  • Ruby模块OpenU途锐I获取HTTP/FTP地址内容
  • 浅析Ruby加密实今世码表率
  • Ruby blocks提供灵活编码手腕

Ruby解析Json例子:

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

Ruby拆解深入分析Json把地点的json字符串拆解深入分析成Array。这样的办法并不安全,比如:

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

又该出口什么呢?特不满,剖判不出什么事物,跳出二个告诫:warning: character class has `[' without escape安全的不二秘籍如下:

module SafeJSON   require 'monitor'   def SafeJSON.build_safe_json   ret = nil   waiter = ''   waiter.extend(MonitorMixin)   wait_cond = waiter.new_cond   Thread.start do   $SAFE = 4   ret = Proc.new {|json|   eval(json.gsub(/(["'])/s*:/s*
(['"0-9tfn/[{])/){"#{$1}=>#{$2}"}) }   waiter.synchronize do wait_cond.signal   end   end  waiter.synchronize do wait_
cond.wait_while { ret.nil? } end   return ret   end   @@parser = SafeJSON.build_safe_json   # Safely parse the JSON input   def SafeJSON.parse(input)   @@parser.call(input)   rescue SecurityError   return nil   end  end  

包涵这些Module,你就能够如此使用Ruby深入剖判Json:

peoples=SafeJSON.parse('
{"peoples":[{"name":"site120","
email":"[email protected]","sex":"男"},
{"name":"site120_2","email":"site1
[email protected]_2","sex":"男_2"}]}')  puts peoples["peoples"][1]["name"]
 #输出site120_2 

rails通过HavalJS内置了对AJAX的协助,大概用到json的机缘并非常少,可是作为黄金年代种数据沟通的惠及格式,仍旧值的瞩目。

...

本文由网络计算发布,转载请注明来源:简单实现Ruby解析Json