1

JSPページの要素を簡単に参照できるように、JSON文字列をJavaオブジェクトに変換する簡単な方法またはライブラリですか? はJSPページで簡単なドット表記で参照できると思いますMapので、JSON→Mapオブジェクトは動作するのでしょうか?

更新: すべての JSON Java ライブラリに感謝します。特に、JSP ページで簡単に使用できるライブラリを探しています。これは、作成された Java オブジェクトに JSON ノードの名前に対応する適切な getter メソッドがあるか (これは可能ですか?)、または Map オブジェクトのように簡単にする他のメカニズムがあることを意味します。

4

4 に答える 4

2

ジャクソンを使用してください。

更新しました:

任意の json 文字列がある場合、Jackson はマップ オブジェクトを返してプロパティ値にアクセスできます。

ここに簡単な例があります。

@Test
public void testJsonMap() throws JsonParseException, JsonMappingException, IOException {
    String json = "{\"number\":\"8119123912\",\"msg\":\"Hello world\"}";
    ObjectMapper mapper = new ObjectMapper();
    Map<String, Object> map = mapper.readValue(json, new TypeReference<Map<String,Object>>() { });
    System.out.println("number:" + map.get("number") + " msg:" + map.get("msg"));
}

出力:

number:8119123912 msg:Hello world

于 2011-09-19T17:11:04.270 に答える
0

この目的にはDWR を使用できます。DWR-Easy Ajax for JAVAです。

このJavaクラスを考えてみましょう。

   class Employee
   {
      int id;
      String eName;
       // setters and getters                
   }   

JavaScript JSON オブジェクト内

   var employee = {
                   id   : null,
                   name : null
                  };

これは、javascript 関数からの Java メソッドの呼び出しです。

   EmployeeUtil.getRow(employee,dwrData);

EmployeeUtil クラスの getRow() では、メソッドの戻り型は Employee になります。

   Employee getRow();

したがって、Employee のセッターを使用してデータを設定します。

dwrData はコールバック関数です。

   function dwrData(data) {
                            employee=data;                   
                          }

Employee Bean である返されるデータは、コールバック関数になります。

これを JavaScript JSON オブジェクトで初期化するだけです。

これで、JSON オブジェクトを解析して jsp に表示できるようになりました。

この例は、表の動的編集を示しています

お役に立てれば ....

于 2011-09-19T17:50:19.617 に答える
0

このライブラリは、あなたが望むことをするはずです: http://www.json.org/java/

于 2011-09-19T16:54:39.420 に答える