【问题标题】:display json data using xhrget (DOJO)使用 xhrget (DOJO) 显示 json 数据
【发布时间】:2012-04-01 11:20:58
【问题描述】:

我无法弄清楚显示 json 数据有什么问题。下面是代码

var xhrGet1 = dojo.xhrGet({
       url: "Page/",
       handleAs: "json",
       handle: function(response)
       {
       dojo.byId('json-data').innerHTML = response.questions[0];
       }
       });

HTML

<div id='json-data'></div>

我的 json 文件看起来像这样

 {
        "Info": {
            "PURPOSE": "....  ",
            },
        "questions": [
            {
                "ID": 1,
                "Question": "User ID",
                "Information": "",

            }, {
                "ID": 2,
                "Question": "Name",
                "Information": "",

            }
        ],

等等...有什么想法吗??

【问题讨论】:

    标签: javascript dojo


    【解决方案1】:

    xhr 调用中的属性 handleAs : "json" 使传入的 json 自动评估为 javascript 对象。因此,您必须使用 JSON.stringify 将您的 javascript 对象转换回字符串。 例如:

    dojo.byId('json-data').innerHTML = JSON.stringify(response.questions[0]);
    

    您也可以将dojo.toJson 用于相同目的。它使用 json.stringify 但具有第二个参数(“prettyprint”)的好处,允许您开箱即用地进行漂亮打印,如下所示:

    dojo.byId('json-data').innerHTML = dojo.toJson(response.questions[0], true);
    

    【讨论】:

    • 不客气...如果您正在寻找任何解决方案,您可以考虑通过勾选答案分数下方的勾号来接受它...
    【解决方案2】:

    用 PRE 和 CODE 标签包装你的 JSON。

    所以:

    dojo.byId('json-data').innerHTML = "<pre>code>" + response.questions[0] + "</code></pre>";
    

    另请参阅:Display JSON as HTML,了解一些可以帮助您在浏览器中呈现时漂亮地格式化 JSON 的库

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-12
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      相关资源
      最近更新 更多