Java 如何在ajax中解析Json对象

Java 如何在ajax中解析Json对象,java,jquery,Java,Jquery,我无法在ajax中解析从servlet返回的tje Json对象 我需要将json对象值放在相对字段中 从我的java代码中,我以JSON的形式发送下面的字符串 String webVisitorDetails = "{"+"companyName : \""+webVisitor.getCompanyName()+ "\","+ "address : \""+webVisitor.getProfe

我无法在ajax中解析从servlet返回的tje Json对象

我需要将json对象值放在相对字段中

从我的java代码中,我以JSON的形式发送下面的字符串

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并提供给客户端。