Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过json检索Blogger主页URL_Javascript_Json_Blogger - Fatal编程技术网

Javascript 通过json检索Blogger主页URL

Javascript 通过json检索Blogger主页URL,javascript,json,blogger,Javascript,Json,Blogger,免责声明:我不懂编程。 我只是在尽我最大的努力赶上 在阅读(以及稍后尝试)的答案时,我认为一个可能很好且有用的更新应该是使用json术语获取相同类型的信息,即如何通过json检索博客的“主页”URL 我试着自己去想,因为我知道,比如说 <script type="text/javascript"> function specialpost(json) { document.write('<div>'); // VARIABLE DECLARATION var i;

免责声明:我不懂编程。
我只是在尽我最大的努力赶上

在阅读(以及稍后尝试)的答案时,我认为一个可能很好且有用的更新应该是使用json术语获取相同类型的信息,即如何通过json检索博客的“主页”URL

我试着自己去想,因为我知道,比如说

<script type="text/javascript">
function specialpost(json) {
 document.write('<div>');
// VARIABLE DECLARATION
 var i;
 var j;
// LOOP
 for (i = 0; i < json.feed.entry.length; i++)
 {
  for (j = 0; j < json.feed.entry[i].link.length; j++) {
   if (json.feed.entry[i].link[j].rel == 'alternate') {
    break;
   }
  }
var postUrl = "'" + json.feed.entry[i].link[j].href + "'";
var postTitle = json.feed.entry[i].title.$t;
var postContent = json.feed.entry[i].content.$t;
var item = '<h3><a href="' + postUrl + '" target="_blank">' + postTitle + '</a></h3><p>' + postContent + '</p>';
 document.write(item);
 }
 document.write('</div>');
 }
</script>
<script src="https://MYBLOG.blogspot.com/feeds/posts/default/-/special?max-results=NUMBER_OF_POSTS_DISPLAYED&alt=json-in-script&callback=specialpost"></script>

函数specialpost(json){
文件。写(“”);
//变量声明
var i;
var j;
//环路
for(i=0;i”;
文件。书写(项目);
}
文件。写(“”);
}
…将给我一个
div
,其中包含标题(包括链接)和所需数量的贴有“特殊”标签的帖子的内容,但我在尝试的中途有点困惑

我习惯于以可理解的树状形式查看我博客的json代码,我猜如果每篇文章的URL存储在
[]条目
中的某个位置,那么博客本身的URL可能存储在
[]链接
中的某个位置

问题:我说得对吗

[]链接包含4个条目:
{}0
{}1
{}2
{}3

它们中的每一个依次包含3个条目:

  • rel
    设置为
    ”http://schemas.google.com/g/2005#feed“
    “hub”
    分别

  • 类型
    前两个设置为
    “application/atom+xml”
    ,第三个设置为
    text/html

    -未定义
    {}3

  • href
    设置为

    ”http://MYBLOG.blogspot.com/feeds/posts/default“


    (后跟
    ?alt=json
    为我们提供了非常相同的json代码的URL
    我进入是为了获得树状视图)

    ”https://www.blogger.com/feed/1234567890123456789/posts/default?alt=json“


    (我想,这19位数字是某种机器生成的数字名称
    谷歌分配给我的博客)

    ”http://MYBLOG.blogspot.com“


    ”http://pubsubhubbub.appspot.com“
    分别

我想我要的是
{}2

问题:我又对了吗?如果是这样,我如何声明,例如,
var myblogUrl
的值被设置为存储在该
{}2
条目中的
href


最后但并非最不重要的一点:其他三个条目是什么?存储在条目
{}0
中的
href
类似于将您带到一种订阅页面,您可以在该页面上选择您想要订阅的博客的方式。真的是这样吗

根据链接
元素的ATOM规范(请参阅)

链接-标识相关网页。定义了关系的类型 通过rel属性。每种类型的条目仅限一个备用条目 还有赫弗兰格。如果没有链接,则条目必须包含备用链接 内容元素。更多信息

因此,
链接
条目内的URL将根据请求不断更改。您必须使用JavaScript
split
函数来获取主页的值-

var myblogUrl = json.feed.link[0].href.split('feeds')[0];
注意:如果您使用类型为-
myblog.blogspot.com
的URL请求提要,则此功能将起作用。但是,如果您从
blogger.com
(例如-)请求提要,则必须对此进行更改

var url = json.feed.link.find(function($) {
    return $.rel === "alternate";
}).href.split('/search/')[0];