Titanium Nagoya Chatroom と同じ日に東京で行われていたAndroid Bazaar and Conference 2012 でScaling Titanium Mobileというお話をqnypの@junyaさんがされていました。 Titanium Nagoya Chatroomで喋り終えた後の帰りの新幹線で上記スライドのPDF版ダウンロードして読んでいてunderscore.jsの特徴について 配列や関数に対する操作を容易にする JavaScriptのビルトインオブジェクトを拡張しない 関数プログラミング由来のものを中心とした60ほどの関数 ということが書かれており最後の関数プログラミング由来・・という部分にちょっと興味惹かれました。 自分は以前にWSH+JScript+prototype.jsで業務効率化のツール(詳しくはこれ)をちょこちょこ作っていたこともあり、
🚨 Unmaintained 🚨 JSON 3 is deprecated and no longer maintained. Please don’t use it in new projects, and migrate existing projects to use the native JSON.parse and JSON.stringify instead. Thanks to everyone who contributed patches or found it useful! ❤️ JSON 3 JSON 3 was a JSON polyfill for older JavaScript platforms. About JSON is a language-independent data interchange format based on a loose
そろそろ4月も近いということもあって、新たにWeb業界やSIer業界に入るぞという方がプログラミングの勉強をし始めているころでしょうか。最近は、エンタープライズでもWebクライアントが主流になりつつあるのでJavaScriptの習得は避けては通れない道だと思います。また、Node.js等サーバーサイドのJavaScriptも出てきたこともあって、非常に有用な言語になりつつあります。 そんなJavaScriptを学び始めている人の中でも、ある程度プログラミングをやったことがある人がJavaScriptの綺麗な書き方を学ぶのに絶対理解しておいた方が良い300行程度のソースコードがあります。 それは、JavaScript: The Good Partsに載っているJSONパーサのコードです。 JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 作者:
あまり例を見かけなかったので、サンプルを動かした際のやり方をメモ。 特別なライブラリが不要ってのがうれしい。 以下は、Restful APIのイメージで、あるリクエストに対してサーバー側からブラウザ側にjsonでデータを送るケース。 /** * Module dependencies. */ var express = require('express'); var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.method
XMLの操作を標準化した物としてDOMやらXPathやら各種規格が存在するわけですが、JSONでもそのようなよく利用される操作を共通化した物が存在すると便利な場面もあるかもしれません。 そこでIETFのappsawg WGで提案されているのが、JSON PointerとJSON Patchです。 まだ提案されたばかりでほとんど何も決まっていないのが実情なのですが、もしRFCとして公開されるほどの物が出来上がれば、標準的な枠組みとしては強力な物になるかもしれません。 JSON Pointer JSON PointerはXMLで言う所のXLinkとXPathの機能を併せ持ったような物で、JSONの構造の中のあるオブジェクトを表すのに用いられたり、URL中においてfragment identifierとして使われる事でJSONの構造中の特定のオブジェクトを指し示すのに使われる事を想定しています。
ほとんど自分のためのメモ。 サーバサイドJSを使っているとクライアントにwebsocket経由で渡したりmongodbやnstoreで永続化する際にピュアなJSONとしてデータを宣言しなおす必要があって面倒。 じゃあModelクラス自身が読み込み/書き出しできると嬉しいのでは。 coffee-scriptで書いてみた。 class Model _iparam_ : {} constructor : (data={})-> for k,v of @_iparam_ @[k] = data[k] or @_iparam_[k] toJson : (cls)-> return @toJson(@) if cls is undefined return cls unless cls instanceof Object json = {} for k,v of cls if typeof v is
JSON.stringifyでオブジェクトをいい感じに整形できます. あまり知られていない気がしたので,皆様にお知らせしようと思います. まずこれを読んでください. JSON.stringify(value, replacer, space) value any JavaScript value, usually an object or array. replacer an optional parameter that determines how object values are stringified for objects. It can be a function or an array of strings. space an optional parameter that specifies the indentation of nested structures. If
Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSS それぞれの詳細については後述します。 開発側でやるべきこと 文字列中のUnicode文字は "\uXXXX" な形式にエスケープするとともに、ASCIIな範囲であっても「/」「<」「>」「+」も同様にエスケープすることにより、前述の脆弱性を防ぐことができます。 Perlであれば、以下のような感じになります。JSON->ascii(1) に続けて、JSON文字列を正規表現で置換しているあたりがキモになります。 use utf8; u
ページ遷移戻りでcssやJavascriptの変数を保持する方法 ページ遷移後元に戻って来た時に前の状態を保持していて欲しいことは 良くあります。 簡単なブログであっても、ちょっとした cssのstyleやJavascriptの大域変数ひとつ くらいは保持してもらいたいものです。 このサンプルはcookieを用いて情報を記憶します。 別途hidden要素を用いたやり方を本記事の hiddenに値を記憶させる方法に 置いてあります。 下の例では左の2つの要素が通常の取り扱いで、右の2つの要素が情報保持を 行っているものです。[test]ボタンで色と値が変わります。他ページに遷移後 戻ってくると、右の2つが状態を保っていることが分かります。 左のカウンタは表示は環境によっては状態を保つ場合も ありますが変数は初期値に戻ってしまっています。 AAAA BBBB コードは次のようになっています。
こんにちは、太田です。今回から、Ajaxと呼ばれるような非同期な通信処理を行うJavaScriptについて解説していきます。今回は特にJSONPについて基礎的な部分を解説します。 JSONとは JSONについては第9回でも少し触れていますが、改めて解説します。 JSON(JavaScript Object Notation)はJavaScriptから生まれたデータ記述フォーマットで、真偽値、数値、文字列、null値の組み合わせを持ったハッシュか配列かその両方で構成されます。 JSONはそのシンプルさから多くの言語でネイティブにサポートされており、特にウェブ関連ではポピュラーなデータフォーマットです。 JSONのサンプル(配列) ["aaa", "bbb", "ccc"] JSONのサンプル(ハッシュ) {"aaa":1, "bbb": 2, "ccc": 3} JSONのサンプル(ハッシュ
"あa".toJSON() JSON.stringify("あa") JSON.stringify({"あa": null}) Google Chrome6(dev) "あa" ""\u3042a"" "{"\u3042a":null}" Safari5 not impl ""あa"" "{"あa":null}" Opera10.60β not impl '"あa"' '{"あa":null}' Firefox3.6.3 "あa" ""あa"" "{"あa":null}" IE8 "あa" ""\u3042a"" "{"\u3042a":null}" IE6, IE7 not impl not impl not impl JSON.parse('"あa"') JSON.parse('"\u3042a"') Google Chrome6(dev) "あa" "あa" Safari5 "あa"
現在、JSONスキーマはIETFのインターネットドラフトとなっています。 http://tools.ietf.org/html/draft-zyp-json-schema-01 僕がはじめてJSONスキーマを紹介した時(2009年4月)と比べて、一番大きな変化はハイパースキーマ(hyper schema)と呼ばれる仕様が加わったことです。ハイパースキーマは、JSONデータをハイパーメディアと見なすための仕様です。個人的には欲しかった機能ですが、ちょっと「こりゃダメかも感」がただよっています。ハイパースキーマはいずれ話題にすることがあるかも知れませんが、今日の話は従来からあったコアスキーマ仕様に限定します。 この記事では、現状のJSONコアスキーマ仕様に基づき、スキーマの書き方を解説します。なお、我々のCatyスキーマ記述言語のこともしばしば「JSONスキーマ」と呼んでいますが、この記事で単
JavaScript Templating is a neat idea: it allows you to easily convert JSON to HTML without having to parse it. At Microsoft's MIX10 conference, they announced that they are starting to contribute to the jQuery team. One of their efforts is to provide a templating plugin. In this quick tip, I'll show you how to use it!
解説は他にもたくさんありますが、私自身も使いはじめの頃、違いがよくわからなかったので。 JSONとは? 汎用的なデータ記述方法です。こんな感じで書きます。 { 'blog' : 'あと味', 'author' : 'jdg' } まさにJavaScriptのオブジェクトですね。*1 JSONPとは? JSONを以下のように変えたもの。 callback({ 'blog' : 'あと味', 'author' : 'jdg' }); 関数呼び出しっぽいですね。まぁ、関数呼び出しなんですけど。 どゆこと?となるポイント 見た目が関数っぽくなる意外に変更点はないように見えますが、クロスドメインでJSONを読み込む時は、なぜかJSONではなく、JSONPが使われます。(WebAPI等) また、アクセスしたらJSON形式のデータを返す単純なCGIを自分で作りたいと思った場合でも、JSONを返しても、J
AJAXのJSONに関するリンク集です。 テキストデータの読み込みとか、 概要などに関してです。 javascriptを利用したテキストデータの読み込みは、 JSONがよいみたいです。 JSON関連リンク ・JSONの書き方について考えてみた・1 わかりやすく書かれてあります。 ・JavaScript Object Notation wikipediaの解説 ・[翻訳]JSON入門 JSONの翻訳 ・Ajax 動的なテーブル書き換え AJAXでおなじみの高橋 登史朗さんの解説 ・ JSONを使ってAJAXベースのアプリケーションを高速化する 書き方がわかりやすい(CODE ZINE) ・JSONのデータを表示する 「Ajaxを勉強しよう」のJSONのページ ・JavaScript - JSONでデータを受信する方法2種類 JSON受信の解説
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く