我目前正在尝试将生成的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似乎正确格式化了。任何帮助都将不胜感激。
答案 0 :(得分:0)
自我解决: 仅使用[]运算符取消引用数组中的值,但如果从对象中提取值,则使用点表示法。 因此,只需要输入类型:data.data.type
答案 1 :(得分:0)
我强烈建议使用Google Gson将完整javabeans的地图和/或集合转换为JSON,反之亦然。您可以找到here几个示例。学习JSON也会有所帮助。