【问题标题】:How to get to the bottom of a JSON tree如何到达 JSON 树的底部
【发布时间】:2016-07-25 06:30:30
【问题描述】:

我今天来找你可能是一个菜鸟问题。我正在尝试解析来自客户端服务器的 JSON 响应,但我似乎碰壁了,因为我实际上无法访问其中的数据。这是我正在尝试浏览的 JSON 内容。我只需要 name:"Topic3" 中的名称

'{
 links: [ ],
 content: [
    {
       links: [ ],
       content: {
          name: "Topic3",
          technology: {
             name: "Java",
             technology_id: 1
           },
           topic_id: 3
       },
   id: null
   },
   ],
   id: null
}'

任何帮助将不胜感激。这也是我尝试使用的 JS 代码。

$.ajax({
            type:'GET',
            dataType: 'json',
            url: "technologies/"+ option+ "/topics"
        }).then(function(data)
        {
            for(i=0;i<data.content.length;i++)
            {
                var topic = document.createElement("button");
                var content= (Object.keys(data.content[i]));
                topic.name= content.content.name;
                AddTopic.appendChild(topic);
            }
        });

【问题讨论】:

  • 尝试删除第二个“内容”。来自“content.content.name”
  • 我试过了,它使 topic.name= undefined
  • @ShubhamKhatri 它已经是一个javascript对象,如果你提供一个dataType: 'json',jq​​uery会为你转换它
  • 在这种情况下,我会将data 存储到一个全局变量中,并使用Web 开发人员对其进行分析,然后使用此工具进行测试。您将能够看到 JSON 的结构以及问题出在哪里(也可以使用调试器;))
  • 发布的json字符串无效。

标签: javascript jquery json rest


【解决方案1】:

要设置按钮文本,请使用innerHTML 属性

            var topic = document.createElement("button");
            var content = data.content[i];
            topic.innerHTML = content.content.name;
            AddTopic.appendChild(topic);

【讨论】:

  • 这给了我一个错误“无法读取未定义的属性名称”
【解决方案2】:

所以我假设您需要遍历并找到每个可用的主题 - 在这种情况下,我相信这应该可行

$.ajax({
            type:'GET',
            dataType: 'json',
            url: "technologies/"+ option+ "/topics"
        }).then(function(data)
        {
            for(i of data.content)
            {
                var topic = document.createElement("button");
                topic.name= i.content.name;
                AddTopic.appendChild(topic);
            }
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多