jqueryでオブジェクトをJSON形式のテキストデータに変換する
- <!DOCTYPE html>
- <html lang="ja">
- <head>
- <meta charset="UTF-8">
- <title>jqueryでオブジェクトをJSON形式のテキストデータに変換する</title>
- <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
- <script type="text/javascript" src="knockout-2.1.0beta.js"></script>
- <script type="text/javascript">
- jQuery.extend({
- stringify : function stringify(obj) {
- var t = typeof (obj);
- if (t != "object" || obj === null) {
- // simple data type
- if (t == "string") obj = '"' + obj + '"';
- return String(obj);
- }
- else {
- // recurse array or object
- var n, v, json = [], arr = (obj && obj.constructor == Array);
-
- for (n in obj) {
- v = obj[n];
- t = typeof(v);
- if (obj.hasOwnProperty(n)) {
- if (t == "string") v = '"' + v + '"'; else if (t == "object" && v !== null) v = jQuery.stringify(v);
- json.push((arr ? "" : '"' + n + '":') + String(v));
- }
- }
- return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
- }
- }
- });
- function ViewModel() {
- var self = this;
- var obj = ([
- {"name":"ねぎ間","price":"168"},
- {"name":"ハツ","price":"136"},
- {"name":"レバー","price":"136"}
- ]);
-
- self.jsonStr = ko.observable($.stringify(obj));
- }
- $(document).ready(function () {
- ko.applyBindings(new ViewModel());
- });
- </script>
- </head>
- <body>
- <h1>jqueryでオブジェクトをJSON形式のテキストデータに変換する</h1>
- <div data-bind="text: jsonStr"></div>
- <p>※knockout.jsを使って出力しています</p>
- <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
- <a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
- <a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
- </div>
- <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
- Copyright © 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
- </div>
- </body>
- </html>