博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ruby json解析&生成
阅读量:6814 次
发布时间:2019-06-26

本文共 895 字,大约阅读时间需要 2 分钟。

 

JSON 通常用于与服务端交换数据。

在接收服务器数据时一般是字符串。

我们可以使用 JSON.parse() 方法将数据转换为 ruby 对象。

一. json字符串解析

require 'json'my_hash = JSON.parse('{"hello": "goodbye"}')puts my_hash['hello'] #=> 'goodbye'

 

如果json字符串比较复杂,包含单引号,双引号;这里有两个办法:

  1. 用双引号包含json字符串,并对json字符串中的每个双引号进行转义(这个操作,有些ide可以支持,rubymine中没发现)比较繁琐
  2. 将json字符串写入到json文件中,通过读取json文件的方式解析
    require 'json'require 'pp' json = File.read('input.json')obj = JSON.parse(json) pp obj

      

二.ruby json对象转为json字符串

  1. generate
    require 'json'my_hash = {:hello => "goodbye"}puts JSON.generate(my_hash) #=> "{\"hello\":\"goodbye\"}"

     

  2. to_json

    require 'json'{:hello => "goodbye"}.to_json #=> "{\"hello\":\"goodbye\"}"1.to_json #=> "1"

    JSON.generate只允许将对象或数组转换成JSON字符串,to_json可以接收许多类型

三.[](object, opts = {})

如果对象是字符串类型,解析字符串并将解析后的结果作为Ruby数据结构返回。否则就会从Ruby数据结构对象生成一个JSON文本并返回它。

相当于会先判断对象类型,如果是ruby json类型则转化为json字符串;如果是json字符串则转化为ruby josn类型

 

 

转载于:https://www.cnblogs.com/wf0117/p/8854899.html

你可能感兴趣的文章
Java 多线程NIO学习
查看>>
命名实体识别
查看>>
动态切换的动态代理
查看>>
电商项目(下)
查看>>
vue 数字滚动递增效果
查看>>
vue2.0中父子,兄弟组件的传值2
查看>>
Spring Boot注解常用!!!看了就可以开发大量项目了
查看>>
音频编码 Audio Converter
查看>>
SQL - case when then else end 的用法
查看>>
web优化是http缓存(上)
查看>>
19-01-14
查看>>
媒体融合三部曲(未完待续...)
查看>>
OkHttp3-拦截器(Interceptor)
查看>>
Bootstrap在实际生产开发中的使用心得
查看>>
Google推出实时内容洞察工具 为用户提供表现最好的内容
查看>>
虚拟机故障与故障处理工具之指令篇
查看>>
iOS 基础知识学习目录索引
查看>>
My_Base_notes
查看>>
Node assert断言学习及mocha框架与travisCI初探
查看>>
大话转岗 PHP 开发小结
查看>>