如何将 javascript 对象转换成 json字符串

javascript 对象转换成 json字符串[js对象转换成json字符串]

操作方法

  • 01

    使用$.toJSON(Object)就可以转换了,转换之前先引入jquery.json.js /* * jQuery JSON Plugin * version: 2.1 (2009-08-14) * * This document is licensed as free software under the terms of the * MIT License: http://www.opensource.org/licenses/mit-license.php * * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org * website's http://www.json.org/json2.js, which proclaims: * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that * I uphold. * * It is also influenced heavily by MochiKit's serializeJSON, which is * copyrighted 2005 by Bob Ippolito. */ (function($) { /** jQuery.toJSON( json-serializble ) Converts the given argument into a JSON respresentation. If an object has a "toJSON" function, that will be used to get the representation. Non-integer/string keys are skipped in the object, as are keys that point to a function. json-serializble: The *thing* to be converted. **/ $.toJSON = function(o) { if (typeof(JSON) == 'object' && JSON.stringify) return JSON.stringify(o); var type = typeof(o); if (o === null) return "null"; if (type == "undefined") return undefined; if (type == "number" || type == "boolean") return o + ""; if (type == "string") return $.quoteString(o); if (type == 'object') { if (typeof o.toJSON == "function") return $.toJSON( o.toJSON() ); if (o.constructor === Date) { var month = o.getUTCMonth() + 1; if (month < 10) month = '0' + month; var day = o.getUTCDate(); if (day < 10) day = '0' + day; var year = o.getUTCFullYear(); var hours = o.getUTCHours(); if (hours < 10) hours = '0' + hours; var minutes = o.getUTCMinutes(); if (minutes < 10) minutes = '0' + minutes; var seconds = o.getUTCSeconds(); if (seconds < 10) seconds = '0' + seconds; var milli = o.getUTCMilliseconds(); if (milli < 100) milli = '0' + milli; if (milli < 10) milli = '0' + milli; return '"' + year + '-' + month + '-' + day + 'T' + hours + ':' + minutes + ':' + seconds + '.' + milli + 'Z"'; } if (o.constructor === Array) { var ret = []; for (var i = 0; i < o.length; i++) ret.push( $.toJSON(o[i]) || "null" ); return "[" + ret.join(",") + "]"; } var pairs = []; for (var k in o) { var name; var type = typeof k; if (type == "number") name = '"' + k + '"'; else if (type == "string") name = $.quoteString(k); else continue;  //skip non-string or number keys if (typeof o[k] == "function") continue;  //skip pairs where the value is a function. var val = $.toJSON(o[k]); pairs.push(name + ":" + val); } return "{" + pairs.join(", ") + "}"; } }; /** jQuery.evalJSON(src) Evaluates a given piece of json source. **/ $.evalJSON = function(src) { if (typeof(JSON) == 'object' && JSON.parse) return JSON.parse(src); return eval("(" + src + ")"); }; /** jQuery.secureEvalJSON(src) Evals JSON in a way that is *more* secure. **/ $.secureEvalJSON = function(src) { if (typeof(JSON) == 'object' && JSON.parse) return JSON.parse(src); var filtered = src; filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); if (/^[\],:{}\s]*$/.test(filtered)) return eval("(" + src + ")"); else throw new SyntaxError("Error parsing JSON, source is not valid."); }; /** jQuery.quoteString(string) Returns a string-repr of a string, escaping quotes intelligently. Mostly a support function for toJSON. Examples: >>> jQuery.quoteString("apple") "apple" >>> jQuery.quoteString('"Where are we going?", she asked.') "\"Where are we going?\", she asked." **/ $.quoteString = function(string) { if (string.match(_escapeable)) { return '"' + string.replace(_escapeable, function (a) { var c = _meta[a]; if (typeof c === 'string') return c; c = a.charCodeAt(); return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); }) + '"'; } return '"' + string + '"'; }; var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; var _meta = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\' }; })(jQuery);

(0)

相关推荐

  • ios 把字符串转换成json字符串

    有时服务器要json的字符串 这是就需要把字符串转换成json字符串的方法 操作方法 01 把nsstring转化成jsonStr -(NSString *)JSONString:(NSString ...

  • excel2json软件使用方法(Excel表快速转换成JSON字符串)

    把Excel表单转换成json对象,并保存到一个文本文件中,并支持生成C# class数据定义代码. 把Excel表单转换成json对象,并保存到一个文本文件中. 表格格式见:ExampleData. ...

  • php怎么获取数据库转换成json数据乱码

    在jquery的使用中,json的数据往往是从后台取出来,然而,由服务器端生成的json数据,在前端调用时有时会遇到一些问题,而出现乱码则属于较为常见的现象.本文将通过实例与大家分享一下php生成js ...

  • 怎么把json字符串转换成对象

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 操作方法 01 jQuery插件支持的转换方式 02 浏览器支持的转换方式浏览器: ...

  • IOS 请求的JSON转换成字典直接使用

    IOS 开发项目中,一般使用的是AFNetworking,请求到的JSON数据会转换成字典使用. 但是在做[本地推送]的时候,服务器返回的JSON数据直接通知传递过来,并未转换.直接使用直接导致崩溃或 ...

  • JavaScript如何将数组转换成字符串

    JavaScript中的数组有很多常用的方法,如获取数组中的一部分数据.对数组中的元素进行排序.删除数组中部分数据以及将数组全部数据转化为字符串.那这些方法如何使用,具体操作如下: 操作方法 01 第 ...

  • javascript解析json字符串,得到对象

    javascript解析json字符串,得到对象 一个符合json格式的字符串: '{"data":"this-is-json","rtnCode&q ...

  • 如何利用Java自带的类将字符串数组转换成字符串

    字符串数组是数组中的一种,初始化方式有 (1)String[] arr = new String[4]; (2)String[] arr = {"1","2", ...

  • excel如何将字符串转换成时间

    在做表格处理的时候,有时候我们要将字符串转换成时间格式的,比如将[2013年12月31日]转换成[20131231],本文将介绍两种比较单间的转换方式! 操作方法 01 准备原始数据,如下图.需要将其 ...