在红宝石中解析一个长串

时间:2012-08-08 18:59:06

标签: ruby-on-rails regex json parsing

在我的项目中,我需要在一个字符串中聚合许多数据,然后将其解析出来。 数据与人有关,需要记录不同州和年龄组的people_ids及其数量。 例如,我们有5个人在加利福尼亚州命名约翰史密斯,2个人在20-29之间,2个在30-39之间,1个在40-49之间; 2人在纽约命名为John Smith,在20-29岁之间命名为1,在30-39之间命名为1。然后字符串会有点像这样,

John smith| [CA#5: 20-29#2{pid_1, pid_2};30-39#2{pid_3,pid_4};40-49#1{pid_5}] [NY#2: 20-29#1{pid_6};30-39#1{pid_7}] 

它不一定是相同的格式,但任何易于解析的格式。有什么好办法吗? Json格式怎么样? 如果它看起来像上面的格式,如果我想在30-39岁之间加入CA的所有John Smith,我应该如何解析数据? 非常感谢!!

1 个答案:

答案 0 :(得分:2)

根据我对您的帖子的理解,这可能是您正在寻找的格式(如JSON所示)。

请记住,有些宝石可以为您生成和解析JSON。

{
    "name": "John Smith",
    "states": {
        "CA": {
            "total": 5,
            "ages": {
                "20-29": [pid_1, pid_2],
                "30-39": [pid_3, pid_4],
                "40-49": [pid_5]
            }
        },
        "NY": {
            "total": 2,
            "ages": {
                "20-29": [pid_6],
                "30-39": [pid_7]
            }
        }
    }
}