AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    Ruby和Ruby on Rails中解析JSON格式数据的实例教程

    Ruby解析JSON
    Ruby解析Json例子:

    json = '["a", "B", "C"]'
    puts "Unsafe #{unsafe_json
    (json).inspect}" 
    #输出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":"site120@163.com","sex":"男"},
    {"name":"site120_2","email":"site1
    20@163.com_2","sex":"男_2"}]}') 
    puts peoples["peoples"][1]["name"]
     #输出site120_2 
    

     
    Ruby on Rails中
    rails通过RJS内置了对AJAX的支持,也许用到json的机会并不多,不过作为一种数据交换的方便格式,还是值的注意,下面

    这里使用到Json插件,安装命令

    gem install json_pure
    

    使用例子:

     require "open-uri"
     require 'json'
    
     def index
      uri = '*****'
      response = nil
      begin
       open(uri) do |http|
        response = http.read
       end
       @json = JSON::parse(response)
      rescue => text
       # 异常处理
       logger.error("GetMailListserror=" + text)
       flash.now[:error] = '获取邮件列表失败。'
      end
     end
    
    

    这里json解析器需要json格式的key必须带引号,如果没有引号的话会解析出现异常。

    您可能感兴趣的文章:
    • 详解Python使用simplejson模块解析JSON的方法
    • 使用Java构造和解析Json数据的两种方法(详解一)
    • JAVA使用Gson解析json数据实例解析
    • JS中Eval解析JSON字符串的一个小问题
    • Android中gson、jsonobject解析JSON的方法详解
    • iOS开发使用JSON解析网络数据
    • JavaScript解析任意形式的json树型结构展示
    上一篇:Ruby的XML格式数据解析库Nokogiri的使用进阶
    下一篇:Jekyll静态网站后台引擎使用教程
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Ruby和Ruby on Rails中解析JSON格式数据的实例教程 Ruby,和,Rails,中,解析,JSON,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)