Javascript 在jsp中读取json对象

Javascript 在jsp中读取json对象,javascript,json,jsp,object,parsing,Javascript,Json,Jsp,Object,Parsing,我将一个JSON对象传递到jsp页面。它作为字符串传递。现在我必须解析这个字符串并检索通过JSON对象传递的值。因此,我可以在同一个jsp中打印值。有大量的资源,包括各种技术/框架的库和插件。通过大量的JSON解析器,可以归结为如何处理JSON中的数据。我个人最喜欢的例子是,但其他许多例子也适用于简单的情况,包括“参考实现”(aka) (我假设您需要一个Java解析器,参考jsp)我对这个问题的首选解决方案是使用一个JSON解析器,该解析器提供实现Java.util.Map和Java.util.

我将一个JSON对象传递到jsp页面。它作为字符串传递。现在我必须解析这个字符串并检索通过JSON对象传递的值。因此,我可以在同一个jsp中打印值。

有大量的资源,包括各种技术/框架的库和插件。

通过大量的JSON解析器,可以归结为如何处理JSON中的数据。我个人最喜欢的例子是,但其他许多例子也适用于简单的情况,包括“参考实现”(aka)


(我假设您需要一个Java解析器,参考jsp)

我对这个问题的首选解决方案是使用一个JSON解析器,该解析器提供实现Java.util.Map和Java.util.List接口的输出。这允许在JSP表达式语言中对JSON结构进行简单的解析

下面是一个使用ApacheWink提供的JSON4J的示例。该示例从URL导入JSON数据,在java脚本中对其进行解析,并浏览结果结构

<c:import var="dataJson" url="http://localhost/request.json"/>
<% 
String json = (String)pageContext.getAttribute("dataJson");
pageContext.setAttribute("parsedJSON", org.apache.commons.json.JSON.parse(json));
%>
Fetch the name of the node at index 1 : ${parsedJSON.node[1].name}

获取索引1处节点的名称:${parsedJSON.node[1].name}
为了使这变得清晰,最好创建一个JSTL标记来进行解析,并避免java scriplet

<c:import var="dataJson" url="http://localhost/request.json"/>
<json:parse json="${dataJson}" var="parsedJSON" />
Fetch the name of the node at index 1 : ${parsedJSON.node[1].name}

获取索引1处节点的名称:${parsedJSON.node[1].name}