首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析json二级对象?

如何解析json二级对象?
EN

Stack Overflow用户
提问于 2015-03-24 06:28:14
回答 1查看 127关注 0票数 0

下面是json响应,这里I1是主要对象,I1-1,I1-2是子对象。

代码语言:javascript
复制
{ 
 "I1": "Main Object 1", 
 "I1-1": "Sub Object 1", 
 "I1-2": "Sub Object 2", 
 "I2": "Main Object 2", 
 "I2-1": "Sub Object 1", 
 "I2-2": "Sub Object 2", 
 "I3": "Main Object 3", 
 "I3-1": "Sub Object 1", 
 "I3-2": "Sub Object 2" 
}

如何解析上面的响应来过滤红宝石中的main_objects和sub_objects?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 07:07:18

代码语言:javascript
复制
require 'json'

data = JSON.parse('{
 "I1": "Main Object 1",
 "I1-1": "Sub Object 1",
 "I1-2": "Sub Object 2",
 "I2": "Main Object 2",
 "I2-1": "Sub Object 1",
 "I2-2": "Sub Object 2",
 "I3": "Main Object 3",
 "I3-1": "Sub Object 1",
 "I3-2": "Sub Object 2"
}')

main_objects = data.select { |k, _| k =~ /\AI\d+\z/ }
sub_objects  = data.select { |k, _| k =~ /\AI\d+\-\d+\z/ }

p main_objects # => {"I1"=>"Main Object 1", "I2"=>"Main Object 2", "I3"=>"Main Object 3"}
p sub_objects # => {"I1-1"=>"Sub Object 1", "I1-2"=>"Sub Object 2", "I2-1"=>"Sub Object 1", "I2-2"=>"Sub Object 2", "I3-1"=>"Sub Object 1", "I3-2"=>"Sub Object 2"}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29226270

复制
相关文章

相似问题

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