通过AJAX发送到浏览器的HashMap JSON对象打印为[object Object]

时间:2018-02-05 15:58:32

标签: javascript java json ajax hashmap

我在这里遇到这个奇怪的问题。我通过AJAX向客户端发送HashMap作为JSON来填充下拉列表。服务器端的一切看起来都不错,但在客户端浏览器上,下拉列表正在填充为[object Object]。我错过了什么?我的代码如下。

 HashMap<Integer, Cars> cars = new HashMap();
 cars.put(1,car1);
 cars.put(2,car2);
 json = new Gson().toJson(cars);
 System.out.println(json); // PRINTS WELL
 try {
            ServletOutputStream os = res.getOutputStream();                
            os.write(json.toString().getBytes());
            flushCloseOutputStream(os);
            res.setStatus(HttpServletResponse.SC_OK);
        } catch (Exception e) {
            System.out.println("from catch");
            res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Cannot create response");
        }
        setDestination(req, RESPONSE_NO_REDIRECT);

在客户端

function populatedd(dropdown){
.....
.....
if (this.readyState == 4 && this.status == 200) {   
   var jsonResponse = JSON.parse(this.responseText);
   dropdown.options.length = 0;
   for (var key in jsonResponse) {
                createOption(dropdown, jsonResponse[key], key);
            }

.....
.....}

  function createOption(dropdown, text, value) {
    var x = document.createElement('option');
    x.value = value;
    x.text = text;
    dropdown.options.add(x);
}

P.S。没有jQuery

0 个答案:

没有答案