27

私はJavaが初めてで、この問題に2日間苦労し、最終的にここで質問することにしました。

サーブレットで使用できるように、jQuery から送信されたデータを読み取ろうとしています。

jQuery

var test = [
    {pv: 1000, bv: 2000, mp: 3000, cp: 5000},
    {pv: 2500, bv: 3500, mp: 2000, cp: 4444}
];

$.ajax({
    type: 'post',
    url: 'masterpaket',
    dataType: 'JSON',
    data: 'loadProds=1&'+test, //NB: request.getParameter("loadProds") only return 1, i need to read value of var test
    success: function(data) {

    },
    error: function(data) {
        alert('fail');
    }
});

サーブレット

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
   if (request.getParameter("loadProds") != null) {
      //how do i can get the value of pv, bv, mp ,cp
   }
}

あなたが提供できる助けに本当に感謝します。

4

3 に答える 3

5

JSON パーサーを使用して、データをサーブレットに解析する必要があります。

import org.json.simple.JSONObject;


// this parses the json
JSONObject jObj = new JSONObject(request.getParameter("loadProds")); 
Iterator it = jObj.keys(); //gets all the keys

while(it.hasNext())
{
    String key = it.next(); // get key
    Object o = jObj.get(key); // get value
    System.out.println(key + " : " +  o); // print the key and value
}

json を解析するには、json ライブラリ (Jackson など) が必要です。

于 2013-10-24T14:02:36.433 に答える
0

import org.json.simple.JSONObject の代わりに import org.json.JSONObject を使用すると、うまくいきました。

Java で「:」、「[」、「]」などの文字を含む文字列から Json オブジェクトを作成する方法を参照してください。

于 2014-10-13T20:43:17.160 に答える