首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将openstruct数组转换为json

将openstruct数组转换为json
EN

Stack Overflow用户
提问于 2017-03-20 11:25:42
回答 1查看 820关注 0票数 0

我有两个openstruct数组的表单:

代码语言:javascript
复制
<OpenStruct id=0, name="EMGEE CABLES AND COMMUNICATIONS LIMITED", group=3>
<OpenStruct id=1, name="ELECTRICAL TECHNOLOGY PARK OF INDIA", group=2>
<OpenStruct id=2, name="PRISM BUILDCON PRIVATE LIMITED", group=2>
....

代码语言:javascript
复制
<OpenStruct source=79, target=3, value=5>
<OpenStruct source=80, target=0, value=5>
<OpenStruct source=81, target=0, value=5>
....

我的目标是将这些数据转换为json格式,并以以下形式将结果保存到文件中:

代码语言:javascript
复制
{
  nodes:
   [
     {id=0, name="EMGEE CABLES AND COMMUNICATIONS LIMITED", group=3},
     {id=0, name="ELECTRICAL TECHNOLOGY PARK OF INDIA", group=3},
     {id=0, name="PRISM BUILDCON PRIVATE LIMITED", group=3}
   ]
  links:
   [
     {source=79, target=3, value=5},
     {source=80, target=0, value=5},
     {source=81, target=0, value=5}
   ]

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 13:29:56

我想说的是,您将根据自己的喜好在结构中覆盖.to_json方法。

或者,OpenStruct上的H方法可以做你想做的事情。因此,.to_h.to_json也应该实现您的目标。

如果您的问题是如何实现预期的输出,您可以这样做:

代码语言:javascript
复制
the_json = {
  nodes: your_first_array_of_structs.map(&:to_h),
  links: your_second_array_of_structs.map(&:to_h)

}.to_json
File.open('path/to/file.json, 'w') { |file| file.write(the_json) }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42902379

复制
相关文章

相似问题

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