JSP内のAJAX応答でJSONコンテンツを解析しようとしています。応答はオブジェクトのリストです。私は個々の変数を読むことができません。あなたの参照のための添付コードを見つけてください。JSONコンテンツのAJAX応答の解析
JsonTest.jsp
<html>
<head>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
</head>
<body>
COMPONENT CODE : <input name="PartCode" id="PartNo" type="text" />
<br><br>
COMPONENT DESCRIPTION : <input name="desc" id ="Description" value=''>
<br><br>
QUANTITY : <input name="qty" id="Quantity" type="text" value=""/>
<script type="text/javascript">
$('#PartNo').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
varPartCode = $('#PartNo').val();
$.ajax({
type: "Post",
url: "submit",
data: "PartCode="+varPartCode,
headers: {Accept : "application/json;charset=utf-8","Content-Type":"application/json;charset=utf-8"},
success: function(json){
var rep = JSON.parse(json);
alert(rep.name);
}
});
}
});
</script>
</body>
</html>
TestBean.java
package test.json.MyJsonCode;
public class TestBean {
private String name;
private String desc;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
code1.java
アラートが名前をポップアップされていないは、これは正しい方法へのvalue.is
package test.json.MyJsonCode;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONException;
import org.json.JSONObject;
import com.google.gson.Gson;
public class Code1 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
List<TestBean> testList = new ArrayList<TestBean>();
TestBean test = new TestBean();
test.setDesc("description1");
test.setName("name1");
testList.add(test);
TestBean test2 = new TestBean();
test2.setDesc("description2");
test2.setName("name2");
testList.add(test2);
Gson gson = new Gson();
System.out.println("inside code1 class");
String jsonList = gson.toJson(testList);
System.out.println("json data"+jsonList);
response.getWriter().write(jsonList);
} catch (Exception e) {
e.printStackTrace();
}
}
}
コード内で必要な修正や解析を行うことができますか?あなたのサポートを依頼し、事前に感謝します。
最終作業code.Thanksで、jQueryのは、すでに – baao
entirly真@baaoはないことということでしたが、あなたは正しいHTPTヘッダを送信する場合[dataType:json](http://api.jquery.com/jquery.ajax/)を設定すると、文字列ではなくオブジェクトを取得する必要があります – Liam
実際にコンテンツタイプを設定する必要があります。contentTypeオーバーロードはヘッダーオーバーロードではなくFYI – Liam