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

如题所述

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

使用$.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);
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-15
方法如下:
1 换回字符串
var myObjectInJSON = myObject.toJSONString();//也没有这个方法
var jsonStr = JSON.stringify( obj );
var jsonStr = jQuery.stringifyJSON(obj);//没有这个方法,误导我
2 转为json对象
var bToObj=JSON.parse(b);
jQuery.parseJSON(json);
var c='{"name":"Mike","sex":"女","age":"29"}';
var jsonObj=eval("("+c+")");
第2个回答  2015-05-16
JSON.stringify(obj);

javascript编程对象怎么与json字符串进行转换?
通过 JSON.stringify 方法,JavaScript 对象能转换成 JSON 字符串。转换后的字符串可用于文件保存或网络传输。JSON.parse 方法能将 JSON 字符串解析为 JavaScript 对象。解析后的对象可进行数据操作或页面显示。转换时需注意,JavaScript 对象中不能包含 undefined、function 和 symbol 等无法被 JSON 序列化...

JavaScript对象转换为JSON字符串
JavaScript对象 { "name": "John","age": 30,"city": "New York"} 转换为JSON字符串:\\"{\\\\\\"name\\\\\\":\\\\\\"John\\\\\\",\\\\\\"age\\\\\\":30,\\\\\\"city\\\\\\":\\\\\\"New York\\\\\\"}\\"将JSON字符串转换为JavaScript对象示例:JSON字符串 { "name": "John","age": 30,"city": "New...

js怎么将一个对象转成字符串
答案:在JavaScript中,可以使用`JSON.stringify`方法将对象转换为字符串。详细解释:1. JSON.stringify方法的作用:JSON是一种数据交换格式,它基于文本,并且可以被各种语言所读取和写入。`JSON.stringify`方法是将JavaScript对象转换为JSON格式的字符串的一种常用方式。这个字符串是一个编码过的格式,能够轻...

如何将 javascript 对象转换成 json字符串
1、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。例如:var last=obj.toJSONString(); \/\/将JSON对象转化为JSON字符 或者 var last=JSON.stringify(obj); \/\/将JSON对象转化为JSON字符 alert(last);注意:ie8以上(包括ie8)浏览器有效,上面的几个方法中,除了eval...

如何将 javascript 对象转换成 json字符串
为了将JSON文本转换为对象,可以使用eval函数。eval函数调用JavaScript编辑器。由于JSON是JavaScript的子集,因此编译器将正确的解析文本并产生对象结构。文本必须括在括号中避免产生JavaScript的语法歧义。var obj = eval('(' + JSONTest + ')');eval函数非常快速。它可以编译执行任何JavaScript程序,因此产生...

js 怎么将一个对象转成字符串
JavaScript将对象转化成字符串,一般是使用JSON.stringify()。1、JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或者如果指定了replacer是一个数组,可选的仅包括指定的属性。2、运行实例图:...

如何将 javascript 对象转换成 json字符串
1>jQuery插件支持的转换方式: 复制代码代码如下:$.parseJSON( jsonstr ); \/\/jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 复制代码代码如下:JSON.parse(jsonstr); \/\/可以将json字符串转换成json对象 JSON...

带你一起实现JSON.Stringify方法
JSON.stringify是日常开发中经常用到的JSON对象中的一个方法,JSON对象包含两个方法:一是用于解析成JSON对象的parse();二是用于将对象转换为JSON字符串方法的stringify()。下面分别来看下两个方法的基本使用情况。JSON.parse JSON.parse方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。该方法有两个参数:...

javascript编程中将xml转为json的方法有哪些?
以DOMParser将XML转为JSON为例,首先准备XML字符串,如 "John30",然后创建DOMParser对象和解析XML文档。接着,创建空JSON对象,遍历DOM树提取关键属性,并构建JSON对象。最后,使用JSON.stringify方法将JSON对象转换为字符串输出。以下代码展示一个XML转JSON实例:javascript const xmlString = "John30";co...

Javascript将JSON转换成字符串(String)的2种方法
第一条路:使用js函数eval();testjson = eval(testjson);转换错误的方式。转换的正确的模式,需要添加():testjson = eval((+ testjson + ));eval()的速度非常快,但他可以编译和执行任何Javascript程序,所以会有安全问题。在使用eval()。源必须是可信的。一个更安全的JSON解析器...

相似回答