如何使用 Mustache 在服务器端的 json 数组中显示嵌套的 json 对象
Posted
技术标签:
【中文标题】如何使用 Mustache 在服务器端的 json 数组中显示嵌套的 json 对象【英文标题】:How to display nested json object in json array on Server side using Mustache 【发布时间】:2018-04-25 14:28:19 【问题描述】:我正在使用 mustache 创建模板,使用服务器端的 Spring-boot-starter-mustache 创建模板。
我推荐了:https://www.mkyong.com/spring-boot/spring-boot-hello-world-example-mustache/
pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
<version>1.5.8.RELEASE</version>
</dependency>
我在控制器中创建了一个 Java JSON 对象:
model.put("schoolJson", schoolJson);
return "viewJson";
JSON 结构:
"school": "abc",
"loc": "def",
"type": [
"section": "sec1",
"test":
"grade": "gradea"
,
"section": "sec2",
"test":
"grade": "gradeb"
]
在我看来,我想在“类型”中显示每个“测试”的“等级”。但它不会显示。有人可以在这里帮忙吗?
<div>
<p>schoolJson.school</p>
#schoolJson.type
<ul>
<li>schoolJson.type.grade</li>
</ul>
/schoolJson.type
</div>
【问题讨论】:
【参考方案1】:您的li
应该这样做:
<li>
#test
grade
/test
</li>
这是因为您必须进入嵌套的test
对象的上下文才能获得grade
值
【讨论】:
还是不行。当我使用 mustache 进行客户端脚本编写时,它可以工作。但这不适用于服务器端 html 页面。【参考方案2】:如果“测试”键始终存在,您只需编写:
<li>test.grade</li>
我刚刚检查过,这按预期工作。如果它在您的代码中不能在服务器端工作,那么问题是:您如何解析 JSON 字符串? JMustache 本身不支持 JSON,您必须将其解析为 jmustache 可以理解的数据结构。一起使用 noggit 和 JMustache 请参阅此示例:https://***.com/a/47485363/868941
【讨论】:
以上是关于如何使用 Mustache 在服务器端的 json 数组中显示嵌套的 json 对象的主要内容,如果未能解决你的问题,请参考以下文章
如何使用客户端的时区将 asp.net 日期时间反序列化为 JSON 日期时间