JSON拡張機能「JFON」に続いて、関数と配列プロパティの転送を行います。
JFONはevalを使用し、次の場合を対象としています。
1)データが信頼できるソースからのものである(ユーザー入力から派生していない、または独自のサーバーからのコードであるなど)、 2)「eval」
のコンテキスト(evalの
コンテキスト)に望ましくない副作用がないことがわかっている
関数「fromJFON」の127行目)
3)「関数のない」JSONを使用するようにアプリをリファクタリングするのはコストがかかります。
4)JFONは1日の作業であるため、さらにテストが必要になる場合があります。
アイデア:選択した文字 "\"を使用して\nと\を渡す場合は、選択したプロパティ名を使用して、文字列のように関数や配列をエスケープします。
JFONでは、関数とそれ自体を渡すために「wrap」という名前が選択されています。「wrap」:{「fun」:...および「wrap」:{「esc」:..。
デモ: http: //landkey.org/Sandbox/z/spaceen86/js/btb/tests/jfon.htm
コード(commit 0.0.86を使用):
https
://github.com/lancelab/spaceen/blob/master/js/btb/JFON.js
テスト:github.com/lancelab/spaceen/blob/master/js/btb/ tests / jfon.htm
別の「JWON」拡張機能は次のとおりです。JSON-コメント、ヒアドキュメント、JSONのモンキーパッチ: github.com/lancelab/Boardspirator/blob/master/diary/play/tp/jwon.js