You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
既に mattn さんが、「Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!」で紹介してくださっています (mattn さん、アドバイス&バグ情報ありがとうございます!) が、いまさら C++ で JSON パーサを作りました。それは、以下の3点を満たすものがなかったから。 ヘッダファイル only boost 等、他の重たいライブラリに依存しない array や object が STL にマッピングされる コードは、coderepos に置いてありますので、よろしければお使いください (picojson.h)。 なお、現時点での制限事項として、 \n や \r, \uXXXX といったエスケープの処理が未実装rev. 34232 で対応しました (含サロゲートペア) 空白文字の判断基準が RFC と異なるrev. 34277 で空白と
簡単なJSONを返すアクションを作成 def json = { def jsonData=[["name":"任天堂","hard":"wii"], ["name":"sony","hard":"PlayStation3"], ["name":"Microsoft","hard":"XBOX360"]] render(text:jsonData as JSON) } ブラウザで確認すると、こんな感じのJSONデータが返ります。 [{"name":"任天堂","hard":"wii"},{"name":"sony","hard":"PlayStation3"},{"name":"Microsoft","hard":"XBOX360"}] これをiPhoneでうけとってTableViewに表示します。 JSONを取得する部分 - (void)getJSON { NSURL *jsonURL =
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
僕自身も僕の周辺もJSONをよく使います。でも、細かい点でけっこうミスをやらかしています(苦笑)。このエントリーで、JSONを使う上で注意すべきこと/間違いやすい点をすべて列挙します。 内容 兼チェックリスト: 仕様原典さえ読めば完璧(のはずだが) 数値の前にゼロを付けてはいけない 16進数表記も禁止だよ 数値の前にプラスを付けてはいけない 小数点からはじまる数値はダメ 用語法が違うよ:プロパティとメンバー メンバー名には常に文字列を使う 空文字列""もメンバー名に使える 配列要素はキッチリと並べよう 文字列を囲むには二重引用符だけ 文字列内のエスケープが微妙に違う 仕様にないエスケープは構文エラー undefinedもNaNもありません ラッパーオブジェクトは使わないのが吉 型システムとtypeofに関する注意 最後に 仕様原典さえ読めば完璧(のはずだが) JSONは、小さくて簡単な仕様
JavaScriptWindows版FUSE Dokan がオープンソースになったよ!! - yukobaの日記 が面白そうだったので、ちょっと触ってみた。Dokan は Windows でファイルシステムを作るためのライブラリ。C, .NET, Ruby から気軽にファイルシステムが使えるようになる。それを id:yukoba さんは Java で動くようにして、さらに Rhino を使って JavaScript 製のファイルシステムをデモしている。それならば、と C# 経由で JScript を叩くライブラリを作ってみた。題して「JSDokan」。JSDokan のサンプル「JsonFS」JSDokan を使ったサンプルとして JSON をファイルシステムにする「JsonFS」というのを作ってみた。例えば、このような JSON が... private var json:Object
AS3 で JSONP を扱えるライブラリがぱっと探した感じ無かったので作りました。 http://svn.rails2u.com/as3rails2u/trunk/src/com/rails2u/net/JSONPLoader.as URLLoader とほとんど同じ感じに使えます。たとえばはてなブックマークの JSONP なら // ブラウザで表示しているドメインのセキュリティ許可 // swf のドメインが同じなら必要なし JSONPLoader.allowCurrentDomain(); var loader:JSONPLoader = new JSONPLoader(); loader.addEventListener(Event.COMPLETE, function(e:Event):void { log(e.target.data); // target.data に JSO
「入門 JSON」が微妙に評判がいいみたいなので, 今回はもう少し踏み込んだ内容を書いてみたいと思います。 前回では JSON のデータフォーマットについて曖昧な表現や説明のまま流していますが, ここではもう少し厳密に見ていきます。 またもや長文です。 ご注意を。 なお, この記事は「Introducing JSON」(日本語訳)と併せてご覧いただくことをお奨めします。 前回は JSON のデータ型について連想配列(members)と配列(array)の2つがあると説明しました。 しかし実際にはもうひとつオブジェクト(object)という型があります。 実は JSON ではこのオブジェクトがデータの基本になっています。 (説明が長くなるので前回はこの部分についてワザと端折りました) オブジェクトは以下に示すようにブレス記号で囲んだ表現になります。 { } { members } ここで注意
FlashでLoadVars+json.asを使ってJSONを読む時の注意を読んで、補足というか自分なりのまとめを書いておきたいと思います。 Flash で csv 読もうとして一度はぶち当たる壁なんですが、自前でパースが必要なデータを読み込む場合は必ず onData で処理する必要があります。 これって LoadVars に限らず XML でも同じで、自前でパースしたければ XML.onData で処理しなきゃなりません。 ただしそうすると onLoad が呼ばれなくなるので、onData の末尾で this.load( true ); と呼んであげます。 「あれ、本来 onLoad でやってた処理を onData に書けばいいんじゃないの?」 と思う人もいるかもしれませんが、onLoad を残しておくとパースに失敗した時に this.load( false ); を呼べばエラー処理を任
Flashにjsonのデータを読ませたくて、json.asを使ってネットの情報を参考にして読んでみたが、Bad Stringであったり、謎のBad objectとかいうエラーが出てパース失敗しませんか? あちこち見て、僕が調べた範囲でのやりかた、 1.json.asをincludeする。 2.PHPとかから、「json_var = {JSONのデータ文字列}」の形でアウトプットする。 3.LoadVarsオブジェクトのonLoadイベントで、this.json_varで取れた文字をjson.asでパースする 終わり ・ ・ ・ コレ文字列によっては失敗しません? 僕もFlash久々だったので、そのまま鵜呑みにしてハマりました。 調べるとネット上では、サーバサイドで文字列を事前に"とか&を数値参照に変換しないとダメよ、なども出てくるので変換した。 「あれーJSONって、文字をUTF-8にさえ
InflateColumnを使っているときに問題があったため、修正版を新しいエントリに起こしました。 修正版:DBIx::Class + Catalyst::View::JSON(2) - ヒルズで働く@robarioの技ログ 昔書いたメモが出てきたので転載。 DBIC::ResultSet#findやDBIC::ResultSet#searchしたものをそのままJSONにしたいじゃないですか。 でもCatalyst::View::JSONにそのまま渡すとCatalystが落ちるんですよ。 なので適当に展開してくれるサブルーチンを作って使っています。 Catalyst::View::JSON以外でも使うので、アプリケーションクラスに置いています。 ### lib/MyApp.pm sub expand_dbic { my ( $c, $obj ) = @_; if ( !Scalar::U
Flashを用いたクロスドメインアクセス 前回までは、クロスドメインアクセスを行うための方法として、リバースProxyを使う方法とJSONPを使う方法を紹介しましたが、どちらの方法も少し変わった方法だったと思います。なにか無理やりのように感じた方もいるのではないでしょうか。今回紹介するFlashを使った方法では前回までの方法とは違い、自然な形でクロスドメインアクセスを行うことができます。 Flashでは、呼び出される側で設定を行うことでクロスドメインアクセスが可能になります。 設定といっても非常に簡単で、呼び出される側のWebサーバにcrossdomain.xmlというファイルを設置するだけです。このときのURLは http://www.example.com/crossdomain.xml となります。 ファイルの内容は以下のようになります。 crossdomain.xmlの内容 <cr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く