java - 如何在ajax中解析Json对象

标签 java jquery

我无法解析ajax中从servlet返回的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",
});

最佳答案

请注意,jQuery 设置为 dataType要手动进行 JSON 解析,请使用 parseJSON功能。但是,如果您将 servlet 响应的 Content-Type 设置为 application/json,则应自动检测数据类型。

修复此问题后:它有效吗? success 处理程序的 data 参数的值是多少?

console.debug(data);

正如 Neal 所说,JSON 解析需要从 jQuery 1.4 开始的有效 JSON 字符串。您可以验证您的 JSON jsonlint.com .

In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)

为了避免手动构建 JSON 字符串,请使用类似 JSON-java 的内容。处理器(来自 iNan's comment )或 json.org 上列出的其他 Java 实现.

关于java - 如何在ajax中解析Json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11470482/

相关文章:

Java Runtime.exec() 不从命令行发送电子邮件

javascript - 像 '&' 和 '£' 这样的特殊字符会剪切我传递的 Twitter 文本

JavaScript:循环遍历 DOM 树并替换文本?

javascript - 在JQuery中,当 'load'方法引用项目中的html文件时,其相对路径从哪里开始?

javascript - 背景图像水平视差

javascript - jQuery 延迟 promise 执行不按顺序执行?

java - 你如何参数化 Spring Boot Gradle 插件?

java - 如何计算Android中的传感器功耗

java - Quartz 属性不会触发 Quartz Job

java - 如何绘制带有色调的 BufferedImage