Java 如何在ajax中解析Json对象
我无法在ajax中解析从servlet返回的tje Json对象 我需要将json对象值放在相对字段中 从我的java代码中,我以JSON的形式发送下面的字符串Java 如何在ajax中解析Json对象,java,jquery,Java,Jquery,我无法在ajax中解析从servlet返回的tje Json对象 我需要将json对象值放在相对字段中 从我的java代码中,我以JSON的形式发送下面的字符串 String webVisitorDetails = "{"+"companyName : \""+webVisitor.getCompanyName()+ "\","+ "address : \""+webVisitor.getProfe
String webVisitorDetails = "{"+"companyName : \""+webVisitor.getCompanyName()+ "\","+
"address : \""+webVisitor.getProfessionalAddress()+ "\","+
"city : \""+webVisitor.getCity()+ "\","+
"zipCode : \""+webVisitor.getZipCode()+ "\","+
"clientId : \""+webVisitor.getCustomerAccountNumber()+ "\"}";
在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",
datatype:"json",
});
您的json字符串不正确 键必须用双引号括起
请注意,jQuery设置带有大写字母T。要手动进行JSON解析,请使用函数。但是,如果将servlet响应的
内容类型设置为application/json
,则应自动检测数据类型
在你修好这个之后:它能工作吗?您的success
处理程序的data
参数的值是多少
console.debug(data);
正如Neal已经说过的,JSON解析需要从jQuery1.4开始的有效JSON字符串。您可以验证JSON
要避免手动构建JSON字符串,请使用类似于处理器(from)或上列出的其他Java实现的方法。如果由于单倒逗号(')而产生问题,请执行以下操作:
jQuery.parseJSON(data.replace(/'/g, '"'))
如果是这种情况,那么它应该适合您……您能帮助我如何编写json字符串吗。@Kunalvashit请查看网站。@Kunalvashit使用org.json
库创建json。您的字符串似乎不是JSON(尽管很难说,因为您向我们展示的是生成它的Java,而不是JSON文本本身)。正如伊南所说——不要通过混合字符串来构建JSON,使用合适的序列化程序。这一点很好。还有,它可以(除其他外)用于将Java对象映射到JSON,反之亦然。对于您的用例来说可能太强大了,但我不知道。不知道问题中使用了“
”。通常,这种问题应该在服务器端解决,因此会生成有效的JSON并提供给客户端。