首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将嵌套的OpenStruct转换为JSON

将嵌套的OpenStruct转换为JSON
EN

Stack Overflow用户
提问于 2019-04-03 21:08:07
回答 1查看 777关注 0票数 1

使用JSON.parse创建嵌套的OpenStruct对象似乎非常容易:

代码语言:javascript
复制
JSON.parse( '{"a":{"b":0}}', object_class:OpenStruct )
#<OpenStruct a=#<OpenStruct b=0>>

有没有一种更简单的方法可以将它转换回json,而不需要创建递归函数(如这里所演示的:Deep Convert OpenStruct to JSON)?

EN

回答 1

Stack Overflow用户

发布于 2019-04-03 21:54:41

在你的结构上调用OpenStruct#to_json应该可以做到这一点:

代码语言:javascript
复制
[2] pry(main)> JSON.parse('{"a":{"b":0}}', object_class:OpenStruct).to_json
=> "{\"a\":{\"b\":0}}"

而在普通的irb中,OpenStruct#to_json不起作用:

代码语言:javascript
复制
irb(main):003:0> require 'ostruct'
=> true
irb(main):004:0> require 'json'
=> true
irb(main):005:0> JSON.parse('{"a":{"b":0}}', object_class:OpenStruct).to_json
=> "\"#<OpenStruct a=#<OpenStruct b=0>>\""

ruby 2.5.3,rails 4.2.11.1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55495988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档