0

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

5 回答 5

3

你忘记了逗号,你应该引用你的价值观

String  webVisitorDetails = "{
    \"companyName\": \"" + webVisitor.getCompanyName() + "\",
    \"address\": \"" + webVisitor.getProfessionalAddress() + "\",
    \"city\": \"" + webVisitor.getCity() + "\",
    \"zipCode\": \"" + webVisitor.getZipCode() + "\",
    \"clientId\": \"" + webVisitor.getCustomerAccountNumber() + "\"
}";

编辑:确实=>引用您的密钥(以防万一)我不是真正的Java专家,但是如果有一个可以使用它的类的话。

于 2012-07-13T11:07:29.540 回答
3

另外......你不应该重新发明轮子。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}
于 2012-07-13T11:09:11.290 回答
0

除了您的 JSoN 不正确(请参阅其他答案)这一事实之外,您正在遍历一个response对象,而您应该遍历data已用作成功函数参数的对象

除此之外,为了循环数据,您必须从服务器返回一个数组,即将您的 json 对象括在方括号 ( [ ] ) 中。

于 2012-07-13T11:11:03.157 回答
0

您可以从 VDP 的回答中看到,您的 json 格式不正确。您需要在每个参数后加一个逗号。

还有一些可能会有所帮助的指针:

于 2012-07-13T11:11:27.337 回答
0

将您的键和值放在引号中,并用逗号分隔您的对!

于 2012-07-13T11:07:20.227 回答