![](/img/trans.png)
[英]i am not able to compare the string returned by the ajax request from servlet
[英]Not able to parse the JSON object returned from servlet in AJAX
我無法解析從ajax中的servlet返回的Json對象,
我需要將JSON對象值放在相對字段中
從我的Java代碼中,我以JSON的形式發送以下字符串
String webVisitorDetails = "{"+"companyName : "+webVisitor.getCompanyName()+
"address : "+webVisitor.getProfessionalAddress()+
"city : "+webVisitor.getCity()+
"zipCode : "+webVisitor.getZipCode()+
"clientId : "+webVisitor.getCustomerAccountNumber()+ "}";
response.setContentType("application/json");
response.getWriter().write(webVisitorDetails);
在ajax中
$.ajax({
url: "ships",
data: {
email: email.toString()
},
success: function(data) {
$.each(data, function(k, v) {
console.log(k + " Value " + v);
$("#city").text(v.city);
$("#zipcode").text(v.getZipCode);
$("#Adress").text(v.getProfessionalAddress);
});
},
error: function(data) {
console.log("error:", data);
},
type: "post"
});
您忘記了逗號,應該引用您的值
String webVisitorDetails = "{
\"companyName\": \"" + webVisitor.getCompanyName() + "\",
\"address\": \"" + webVisitor.getProfessionalAddress() + "\",
\"city\": \"" + webVisitor.getCity() + "\",
\"zipCode\": \"" + webVisitor.getZipCode() + "\",
\"clientId\": \"" + webVisitor.getCustomerAccountNumber() + "\"
}";
編輯:確實=>引用您的密鑰(以防萬一)我不是真正的Java專家,但是可以,如果有一個使用它的類。
另外...您不應該重新發明輪子。 Java具有創建“工作” JSON的完美方法。
Map obj=new LinkedHashMap();
obj.put("name","foo");
obj.put("num",new Integer(100));
obj.put("balance",new Double(1000.21));
obj.put("is_vip",new Boolean(true));
obj.put("nickname",null);
String jsonText = JSONValue.toJSONString(obj);
System.out.print(jsonText);
// Result: {"name":"foo","num":100,"balance":1000.21,"is_vip":true,"nickname":null}
將您的鍵和值放在引號中,並用逗號分隔成對的對!
除了您的JSoN不正確(請參閱其他答案)外,您還正在遍歷一個response
對象,而應該遍歷用作成功函數參數的data
對象。
除此之外,為了遍歷數據,您必須從服務器返回一個數組,即將json對象括在方括號( [] )中。
您可以從VDP的答案中看到,您的json格式不正確。 每個參數后都需要有一個逗號。
還有一些可能有用的指針:
您可以通過將其粘貼在http://jsonlint.com/上來驗證json是否正確形成
如果您在應用程序中進行了大量的json處理,我建議您使用標准的JSON庫,例如json-simple或gson 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.