如果json字符串比较复杂,包含单引号,双引号;这里有两个办法:
用双引号包含json字符串,并对json字符串中的每个双引号进行转义(这个操作,有些ide可以支持,rubymine中没发现)比较繁琐
将json字符串写入到json文件中,通过读取json文件的方式解析
require 'json'
require 'pp'
json = File.read('input.json')
obj = JSON.parse(json)
pp obj
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类型