【问题标题】:Cannot access Object key "@attributes" for itunes RSS feed无法访问 iTunes RSS 源的对象键“@attributes”
【发布时间】:2014-02-05 17:26:17
【问题描述】:

我正在尝试通过 php 将其转换为 JSON,然后使用 jQuery .ajax 将其插入来解析 itunes RSS 提要。

首先是php

<?php
     $url = "http://schoolceoshow.libsyn.com/rss";
     $fileContents = file_get_contents($url);
     $fileContents = str_replace(array("\n", "\r", "\t"), '', $fileContents);
     $fileContents = trim(str_replace('"', "'", $fileContents));
     $simpleXml = simplexml_load_string($fileContents);
     $json = json_encode($simpleXml);
     echo $json;
?>

现在是javascript

var root = location.origin + "/";

$.ajax({
url:root + "php/podcast.php",
type:"GET",
data:"json",
success:function(data){
    var dataObject = $.parseJSON(data);
    console.log(dataObject.channel.item[0].enclosure);
},
error:function(){
    console.log("failed");
}
});

注销的是什么

Object {@attributes: Object}
  @attributes: Object
    length: "25583209"
    type: "audio/mpeg"
    url: "http://traffic.libsyn.com/schoolceoshow/SchoolCEOShow-007.mp3"

我唯一的问题是访问@attributes 键。如何访问带有 @ 符号的密钥?谢谢!

【问题讨论】:

标签: javascript php json parsing rss


【解决方案1】:

解决方案是使用括号表示法访问对象。我添加到代码中的是

var enclosure = dataObject.channel.item[0].enclosure;
console.log(enclosure["@attributes"]);

答案位于:Parsing JSON w/ @ at sign symbol in it (arobase)

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2012-05-25
    • 2019-10-06
    • 2021-09-24
    • 1970-01-01
    相关资源
    最近更新 更多