【问题标题】:passing json from servlet to dojo将 json 从 servlet 传递到 dojo
【发布时间】:2011-02-03 19:22:28
【问题描述】:

我目前正在尝试将生成的 JSON 字符串传递给 dojo 进行解析,但遇到了一些问题。 servlet 简单地将其写为字符串:

response.getWriter().append("{ \"data\": {");
response.getWriter().append("\"type\": \"facing\",");
response.getWriter().append("\"score\": " + "\"" + score + "\",");
response.getWriter().append("\"count\":" + "\"" + count + "\"" );
response.getWriter().append("}}");

打印为:

{"data":{"type":"facing","score":"10","count":"24"}}

dojo 端的解析是这样的:

dojo.xhrPost({
    url: url,
    handleAs: "json",
    load: function(data) {
        alert(data);
        /* Parse Not working */
        alert(data.data[0].type);  
    },
    error: function(error) {
        alert("No dice")
    }
});

主要问题是 data.data[0].type 没有返回任何内容,但是当我将其打印为文本时,json 似乎格式正确。对此的任何帮助将不胜感激。

【问题讨论】:

    标签: java javascript json servlets


    【解决方案1】:

    自行解决: 仅使用 [] 运算符来取消引用数组中的值,但如果从对象中提取值则使用点表示法。 因此,要获得类型,只需要做:data.data.type

    【讨论】:

      【解决方案2】:

      我强烈建议使用Google Gson 将地图和/或完全有价值的 javabean 集合转换为 JSON,反之亦然。你可以找到here 几个例子。学习JSON 也会有很大帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-13
        • 1970-01-01
        • 2023-03-25
        • 2013-11-25
        • 2012-05-03
        • 2011-05-20
        • 2013-11-15
        • 1970-01-01
        相关资源
        最近更新 更多