<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Web scratch &#187; JSON</title> <atom:link href="http://efcl.info/tag/json/feed/" rel="self" type="application/rss+xml" /><link>http://efcl.info</link> <description>フリーソフトやFirefoxなどについて、web全般なサイト</description> <lastBuildDate>Sat, 14 Apr 2012 15:37:26 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>ニコニコ動画のマイリストページに共起タグクラウドを表示するGreasemonkey</title><link>http://efcl.info/2010/0113/res1531/</link> <comments>http://efcl.info/2010/0113/res1531/#comments</comments> <pubDate>Tue, 12 Jan 2010 16:32:10 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[Greasemonkey]]></category> <category><![CDATA[JSON]]></category> <category><![CDATA[ニコニコ動画]]></category><guid
isPermaLink="false">http://efcl.info/?p=1531</guid> <description><![CDATA[ニコニコ動画の検索ページに共起タグクラウドを表示するChrome用ユーザスクリプト作ってみた &#8211; あたご型護衛艦日記 http://d.hatena.ne.jp/aTaGo/20100112/12632852 [...]]]></description> <content:encoded><![CDATA[<dl><dt><strong>ニコニコ動画の検索ページに共起タグクラウドを表示するChrome用ユーザスクリプト作ってみた &#8211; あたご型護衛艦日記</strong></dt><dd><a
title="ニコニコ動画の検索ページに共起タグクラウドを表示するChrome用ユーザスクリプト作ってみた - あたご型護衛艦日記" href="http://d.hatena.ne.jp/aTaGo/20100112/1263285275">http://d.hatena.ne.jp/aTaGo/20100112/1263285275</a></dd></dl><p>という便利なものがあったので公開マイリストページにもタグクラウドを表示するGreasemonkeyを書いてみた。</p><p><a
href="http://efcl.info/wp-content/uploads/2010/01/sshot-2010-01-13-1.png"><img
class="alignnone size-medium wp-image-1533" title="sshot-2010-01-13-" src="http://efcl.info/wp-content/uploads/2010/01/sshot-2010-01-13-1-300x129.png" alt="" width="300" height="129" /></a></p><ul><li><a
href="http://gist.github.com/raw/275310/b111171970596648f75432d0febf16e837a6eb0c/Mylist%20TagCloud.user.js">Mylist TagCloud</a></li></ul><pre class="brush:javascript;">// ==UserScript==
// @name           Mylist TagCloud
// @namespace      http://efcl.info/
// @include        http://www.nicovideo.jp/mylist/*
// ==/UserScript==
evalInPage(function(){

	var as = my.currentItems
	var ids = "";
	if(as.length &#62; 1){
		insertcallback();
		for(var i = 0; i &#60; as.length; i++){
			var smid = as&#91;i&#93;.item_data.video_id;
			ids += smid + "+";
		}
		//console.log(ids);
		var uri = "http://nicotag.sakura.ne.jp/getcollocationtag.php?smid=" + ids + "&amp;rand=" + Math.floor(Math.random()*1000);;
		calljsonp(uri);
	}

function calljsonp(uri){
	var scr = document.createElement('script');
	scr.type = "text/javascript";
	scr.src = uri;
	document.body.appendChild(scr);
}

function insertcallback(){
	var callscr = document.createElement('script');
	callscr.type = "text/javascript";
	callscr.text = ''
			+ 'function callback(val){'
			+ 'var footer = document.querySelectorAll("div#SYS_box_mylist_body");'
			+ 'var foot = footer&#91;0&#93;;'
			+ 'var div = document.createElement("div");'
			+ 'div.innerHTML = val;'
			+ 'foot.parentNode.insertBefore(div, foot);'
			+ '}';
	document.body.appendChild(callscr);
}
})
function evalInPage(fun) {
  location.href = "javascript:void (" + fun + ")()";
}
</pre><p>JSONPでしか取得できないような気がしたので、ほぼそのままな感じ。<br
/> 確かめてないけどChromeでも動くかも。</p>]]></content:encoded> <wfw:commentRss>http://efcl.info/2010/0113/res1531/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>FirebugでJSON形式を見易くフォーマットするuserChrome.js</title><link>http://efcl.info/2009/1115/res1463/</link> <comments>http://efcl.info/2009/1115/res1463/#comments</comments> <pubDate>Sun, 15 Nov 2009 11:46:12 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[userChome.js]]></category> <category><![CDATA[Firebug]]></category> <category><![CDATA[JSON]]></category> <category><![CDATA[userChrome.js]]></category><guid
isPermaLink="false">http://efcl.info/?p=1463</guid> <description><![CDATA[FirebugでDOMをtoSource()したときに生成されるJSON形式のようなものがかなり見えづらいので、それを読みやすくコンソールに表示するuserChrome.jsを作成した。 あくまで、見易く表示させることを [...]]]></description> <content:encoded><![CDATA[<p>FirebugでDOMをtoSource()したときに生成されるJSON形式のようなものがかなり見えづらいので、それを読みやすくコンソールに表示するuserChrome.jsを作成した。 <br
/> あくまで、<strong>見易く表示</strong>させることを目的としてたので、整形したものを使うという用途には向いてないかもしれません。</p><p><span
id="more-1463"></span></p><p>こっからダウンロード</p><ul><li><a
href="http://gist.github.com/raw/234552/643b98a1f96d3a77efae5627c662bd406d77ea5b/Firebug%20JSON%20formatting.uc.js"><span>Firebug JSON formatting.uc.js</span></a></li></ul><p>例えばニコニコ動画のマイリストでmy.currentItemes[0].toSource() をやると下のようなものが表示されます。 <br
/> 整形されていないしUTF-8などが混ざっていて読みづらいです。</p><pre class="brush:javascript;">({item_type:0, item_id:"1237006406", description:"", item_data:{video_id:"sm6429247", title:"\u3010\u521D\u97F3\u30DF\u30AF\u3011Blunder girl\u3010\u30AA\u30EA\u30B8\u30CA\u30EB\u66F2\u3011", thumbnail_url:"http://tn-skr4.smilevideo.jp/smile?i=6429247", first_retrieve:1237006407, update_time:1245142420, view_counter:"1469", mylist_counter:"58", num_res:"38", group_type:"default", length_seconds:"112", deleted:"0", last_res_body:"\u3053\u306E\u4EBA\u306F\u30D4\u30B3\u30D4\u30B3\u97F3\u306E \u51FA\u3060\u3057\u304C\u661F\u9593\u98DB\u884C\u306B\u8074 sm7203573\u306B\u3066\u4F7F\u7528\u3055. ", watch_id:"sm6429247"}, watch:0, create_time:1237007514, update_time:1254596442})
</pre><p>そこでこのuserChrome.jsを使って整形して表示させると、コンソールに次のような結果が返ってきます。</p><pre class="brush:javascript;"> (object){
	item_type (number): 0
	item_id (string): 1237006406
	description (string):
	item_data (object){
		video_id (string): sm6429247
		title (string): 【初音ミク】Blunder girl【オリジナル曲】
		thumbnail_url (string): http://tn-skr4.smilevideo.jp/smile?i=6429247
		first_retrieve (number): 1237006407
		update_time (number): 1245142420
		view_counter (string): 1469
		mylist_counter (string): 58
		num_res (string): 38
		group_type (string): default
		length_seconds (string): 112
		deleted (string): 0
		last_res_body (string): この人はピコピコ音の 出だしが星間飛行に聴 sm7203573にて使用さ.
		watch_id (string): sm6429247
	}
	watch (number): 0
	create_time (number): 1237007514
	update_time (number): 1254596442
}

</pre>整形後は何が何の要素なのかがわかりやすく表示されています。
さきほど、整形したものを再利用しにくいと書いたのは、その要素がstringであるなどの情報も含んでいるためです。<h3>使い方</h3><p><br
class="spacer_" /></p><div
id="attachment_1470" class="wp-caption alignnone" style="width: 310px"><a
href="http://efcl.info/wp-content/uploads/2009/11/2009-11-14-22-48-43.png"><img
class="size-medium wp-image-1470" title="2009-11-14 22-48-43" src="http://efcl.info/wp-content/uploads/2009/11/2009-11-14-22-48-43-300x55.png" alt="使い方の流れ" width="300" height="55" /></a><p
class="wp-caption-text">使い方の流れ</p></div><p><br
class="spacer_" /></p><ol><li>FirebugのコマンドラインにJSON形式のものだけを入力する(コマンドラインに入力されているものをそのまま使います)</li><li>右下のJSONボタンを押す</li><li>コンソールに結果が表示される。</li></ol><p>整形するのに<a
href="http://0-oo.net/sbox/javascript/json-decoder">JSONDecoder.js</a>を使用させてもらっています。</p><dl><dt><strong>JSONを見やすく展開してFirebugとかで表示 &#8211; JSONDecoder.js [ゼロと無限の間に]</strong></dt><dd><a
title="JSONを見やすく展開してFirebugとかで表示 - JSONDecoder.js [ゼロと無限の間に]" href="http://0-oo.net/sbox/javascript/json-decoder">http://0-oo.net/sbox/javascript/json-decoder</a></dd></dl><dl><dt><strong>gist: 234552 &#8211; GitHub</strong></dt><dd><a
title="gist: 234552 - GitHub" href="http://gist.github.com/234552">http://gist.github.com/234552</a></dd></dl><p><br
class="spacer_" /></p>]]></content:encoded> <wfw:commentRss>http://efcl.info/2009/1115/res1463/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 5/8 queries in 0.008 seconds using disk: basic
Object Caching 364/370 objects using disk: basic

Served from: efcl.info @ 2012-05-23 10:49:51 -->
