json - jstl如何获取每个元素的json字符串
问题描述
我有以下 json 字符串
[{"nombre":"Estadias Taller serieLoc. 251","array":[{"valores":
[{"nombre":"LUGO DE LLANERA","valor":1.89}],"ejeX":"IB1"},{"valores":[{"nombre":"LUGO DE LLANERA","valor":3.32}],"ejeX":"IB2"},{"valores":[{"nombre":"BARCELONA CAN TUNIS","valor":2.29},{"nombre":"LUGO DE LLANERA","valor":1.41},{"nombre":"TARRAGONA","valor":3.51}],"ejeX":"IS"}]},
{"nombre":"Estadias Taller serieLoc. 252 Merc","array":[{"valores":[{"nombre":"BARCELONA CAN TUNIS","valor":2.31}],"ejeX":"ES1"}]}]
这个 json 字符串有两个元素。第一个是
[{"nombre":"Estadias Taller serieLoc. 251","array":[{"valores":[{"nombre":"LUGO DE LLANERA","valor":1.89}],"ejeX":"IB1"},{"valores":[{"nombre":"LUGO DE LLANERA","valor":3.32}],"ejeX":"IB2"},{"valores":[{"nombre":"BARCELONA CAN TUNIS","valor":2.29},{"nombre":"LUGO DE LLANERA","valor":1.41},{"nombre":"TARRAGONA","valor":3.51}],"ejeX":"IS"}]}
第二个是
{"nombre":"Estadias Taller serieLoc. 252 Merc","array":[{"valores":[{"nombre":"BARCELONA CAN TUNIS","valor":2.31}],"ejeX":"ES1"}]}]
我想使用 jstl 获取这两个元素
我有以下每个
<c:forEach items="${vgraficas}" var="grafica" >
<p> grafica xxxx <c:out value="${grafica}" /></p>
</c:forEach>
但是这个循环获取字符串中的每个元素,而不仅仅是两个
grafica xxxx [{"nombre":"Estadias Taller serieLoc. 251"
grafica xxxx "array":[{"valores":[{"nombre":"LUGO DE LLANERA"
grafica xxxx "valor":1.89}]
grafica xxxx "ejeX":"IB1"}
grafica xxxx {"valores":[{"nombre":"LUGO DE LLANERA"
grafica xxxx "valor":3.32}]
grafica xxxx "ejeX":"IB2"}
grafica xxxx {"valores":[{"nombre":"BARCELONA CAN TUNIS"
grafica xxxx "valor":2.29}
grafica xxxx {"nombre":"LUGO DE LLANERA"
grafica xxxx "valor":1.41}
grafica xxxx {"nombre":"TARRAGONA"
grafica xxxx "valor":3.51}]
grafica xxxx "ejeX":"IS"}]}
grafica xxxx {"nombre":"Estadias Taller serieLoc. 252 Merc"
grafica xxxx "array":[{"valores":[{"nombre":"BARCELONA CAN TUNIS"
grafica xxxx "valor":2.31}]
grafica xxxx "ejeX":"ES1"}]}]
我怎样才能得到这个 json 数组的两个元素?
解决方案
假设java中vgraficas值的类型是String。
- 使用 JavaScript 函数 JSON.parse() 将 String 转换为 JavaScript 对象。假设它是obj。
- 现在这个 obj 基本上是对象数组。所以外层 List 将保存 Object 数组(即 Object[]),该数组需要再次迭代以逐个获取每个对象元素。
<c:forEach items="${obj}" var="outerVar">
<c:forEach items="${outerVar}" var="innerVar"> // outerVar will hold your object array
<c:out value="${innerVar}" /> // iterating the object array
</c:forEach>
</c:forEach>
推荐阅读
- vue.js - 查看js,没有冻结ui的v-text-field的侦听器
- android - 如何获取当前的经纬度并在吐司中显示?
- html - H3标签中的嵌套换行符
- python-3.x - 网络 X 删除具有一条边的节点
- vue.js - 在 VueJs 项目中导入和使用 npm 包
- python - ImportError:没有名为 google.protobuf.internal 的模块
- mysql - MySQL中的多点数据类型是存储(lat,long)列表的最佳方式吗?
- git - Git 克隆失败 - 致命:远程端意外挂断。致命:早期 EOF 致命:索引包失败
- c++ - 为什么mac不需要包含智能指针?
- jms - Google Pub/Sub 是否有队列或主题?