从平面名称值对生成Java Map或Property树

时间:2014-05-13 18:24:30

标签: java

我曾经多次想要一个库,它给出了一些简单的键值属性,创建了一个地图树(和/或列表)(一个包含地图的地图......想想Java JSON)和/或检索和设置值现有的地图树。

示例(属性顺序很重要):

a.b = "b"
a.c.d = 1
a.e.f[0] = "blah"

以上内容将被解析为Map<String,?>,其中a为地图,而ca中的密钥,其中Map的值包含d,值为1 ......等。

可视化的方法是作为JSON树:

{ 
    "a" : 
    {
        "b" : "b",
        "c" : 
        {
            "d" : 1
        },
        "e" :
        {
            "f" :
            ["blah"]
        }
    }
}

我遇到过很多次需要像语言一样的简单对象路径,并且通用表达式语言无法正常工作,因为不会自动创建集合。

因此,我在.编写了我自己的简单拆分并递归创建了地图,但我希望也许有一个经过良好测试的库允许Java对象操作/创建,而不需要通用或图灵的开销完整的表达语言(即Groovy和EL会有点过分)。

我知道Spring有一个DataBinder可以做类似的事情,但它只适用于POJO,不能在一般的Map上工作(这是因为它需要知道如何转换数据,这不是问题)。 / p>

以下是另一个尝试与杰克逊做类似事情的例子:http://pastebin.com/F4feRr8y

0 个答案:

没有答案