无法解析JSON对象从servlet返回的AJAX
我无法解析TJE JSON对象从阿贾克斯servlet返回,无法解析JSON对象从servlet返回的AJAX
我需要把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专家,但肯定的,如果有是一个使用它的类。
也引用键! – Amberlamps 2012-07-13 11:09:09
糟糕的解决方案 - 无法正常工作。你没有附上引号。 – 2012-07-13 11:10:33
我尝试了所有可能的解决方案,但仍然无法读取ajax中的json对象 – 2012-07-13 12:22:40
把你的钥匙和价值放在引号中,并用逗号分开你的配对!
另外...你不应该重新发明轮子。 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没有正确的形成。每个参数后面都需要有一个逗号。
多几个三分球,这可能是有益的:
如果你正在做的JSON量好,如果你的JSON是通过将其粘贴在http://jsonlint.com/
形成正确与否,您可以验证在你的应用程序中处理,我会推荐使用标准的JSON库,如json-simple或gson。
您的JSON是不正确......你正在返回{ABC:ABC},而不是{“ABC”:“ABC”} – 2012-07-13 11:06:27
这JSON是从Java – 2012-07-13 11:08:13
的其中一个不加引号来即webVisitor .getCompanyName()来自于特定的方法,所以我需要加上引号 – 2012-07-13 11:08:57