2009-05-05 12 views
1

jspページに渡されたJSONオブジェクトがあります。それは文字列として渡されます。今私はこの文字列を解析し、JSONオブジェクトを介して渡される値を取得する必要があります。私は同じjspの値を印刷することができますように。jspのjsonオブジェクトを読み取る

答えて

1

json.orgには、さまざまな技術/フレームワーク用の&プラグインのライブラリを含む多くのリソースがあります。

1

大量のJSONパーサーでは、JSONのデータをどのように処理するかが分かります。たくさんの私の個人的なお気に入りはJacksonですが、他の多くのものは、 "参照実装"(別名JSON.org parser)を含む簡単なケースでもうまくいきます。

(私はJSPへの参照を与え、あなたはJavaのパーサをしたいと仮定)

0

この問題に対する私の好適な解決策は、java.util.Mapとjava.utilのを実装して出力を提供JSONパーサーを使用することを含みます。リストインターフェース。これにより、JSP式言語でのJSON構造の単純な解析が可能になります。

Apache Winkに付属の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} 

これはきれいにするためには、構文解析を行うと、Javaのスクリプトレットを避けるためにJSTLタグを作成することが好ましいです。

<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} 
関連する問題