Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MustacheJava:如何通过键获取地图中的值_Java_Mustache - Fatal编程技术网

MustacheJava:如何通过键获取地图中的值

MustacheJava:如何通过键获取地图中的值,java,mustache,Java,Mustache,我正在Java中使用JMustache 我的胡子模板中有一个映射变量。如何像在Java(map.get())中那样在映射中的特定键处获取值 我知道如何在模板中遍历映射的键和值。但是我想要一个没有迭代的解决方案,这样我可以计算一个表达式,例如: 资料 模板 首先,你的胡子语法有问题城市['Tokyo']无效城市是一个数组。可以迭代数组,但不能基于其键值(或任何其他条件)选择元素 因此,这个JSON对象更适合: { "cities": { "Tokyo": {

我正在Java中使用JMustache

我的胡子模板中有一个映射变量。如何像在Java(map.get())中那样在映射中的特定键处获取值

我知道如何在模板中遍历映射的键和值。但是我想要一个没有迭代的解决方案,这样我可以计算一个表达式,例如:

资料 模板
首先,你的胡子语法有问题<代码>城市['Tokyo']无效<代码>城市是一个数组。可以迭代数组,但不能基于其键值(或任何其他条件)选择元素

因此,这个JSON对象更适合:

{
    "cities": {
        "Tokyo": {
            "overview": {
                "population": "19000000",
                "area": "450000"
            }
        },
        "Sydney": {
            "overview": {
                "population": "4500000",
                "area": "6250000"
            }
        }
    }
}
其次,必须使用
Map
List
对象将JSON
字符串
解析为一个结构。大多数JSON解析器都能够做到这一点。在本例中,我使用


首先,你的胡子语法有问题<代码>城市['Tokyo']无效<代码>城市是一个数组。可以迭代数组,但不能基于其键值(或任何其他条件)选择元素

因此,这个JSON对象更适合:

{
    "cities": {
        "Tokyo": {
            "overview": {
                "population": "19000000",
                "area": "450000"
            }
        },
        "Sydney": {
            "overview": {
                "population": "4500000",
                "area": "6250000"
            }
        }
    }
}
其次,必须使用
Map
List
对象将JSON
字符串
解析为一个结构。大多数JSON解析器都能够做到这一点。在本例中,我使用


您必须使用JMustache吗?例如,你可以使用Jackson库在一行中完成。你必须使用JMustache吗?例如,可以使用Jackson库在一行中完成。
{
    "cities": {
        "Tokyo": {
            "overview": {
                "population": "19000000",
                "area": "450000"
            }
        },
        "Sydney": {
            "overview": {
                "population": "4500000",
                "area": "6250000"
            }
        }
    }
}
@Test
public void testSO_45787572() throws IOException {
    final String json = 
        "{\n" +
        "   \"cities\": {\n" +
        "       \"Tokyo\": {\n" +
        "           \"overview\": {\n" +
        "               \"population\": \"19000000\",\n" +
        "               \"area\": \"450000\"\n" +
        "           }\n" +
        "       },\n" +
        "       \"Sydney\": {\n" +
        "           \"overview\": {\n" +
        "               \"population\": \"4500000\",\n" +
        "               \"area\": \"6250000\"\n" +
        "           }\n" +
        "       }\n" +
        "   }\n" +
        "}";
    assertEquals("The population of Tokyo is: 19000000", Mustache.compiler()
        .compile(new StringReader("The population of Tokyo is: {{cities.Tokyo.overview.population}}"))
        .execute(new ObjectBuilder(new JSONParser(json)).getObject())
    );
}