您的当前位置:首页正文

json对象转字符串如何实现_javascript技巧

时间:2023-12-03 来源:站点网

背景:大部分浏览器已经实现了json对象转字符串的原生api支持,那在较低版本浏览器浏览器——如大家最喜爱的IE6——里如何实现呢? 首先运行以下方法,测试各种情况下,JSON.stringify的输出,这有助于下文代码的实现以及测试。用例不一定完整,欢迎补充 代码如下: function test_toStringify(){ var result = { "JSON.stringify(undefined)": JSON.stringify(undefined), "JSON.stringify(null)": JSON.stringify(null), "JSON.stringify(123)": JSON.stringify(123), "JSON.stringify(true)": JSON.stringify(true), "JSON.stringify('')": JSON.stringify(''), "JSON.stringify('abc')": JSON.stringify('abc'), "JSON.stringify(null)": JSON.stringify(null), "JSON.stringify([1,2,3])": JSON.stringify([1,2,3]), "JSON.stringify([undefined, undefined])": JSON.stringify([undefined, undefined]), "JSON.stringify({name:'chyingp', age:24, u:undefined})": JSON.stringify({name:'chyingp', age:24, u:undefined}) }; var str = ''; for(var key in result){ if(typeof result[key] === 'string'){ str += key + " : '" + result[key] + "'"; }else{ str += key + " : " + result[key] + ""; } } console.log(str); } test_toStringify(); 输出结果如下: 代码如下: JSON.stringify(undefined) : undefined JSON.stringify(null) : 'null' JSON.stringify(123) : '123' JSON.stringify(true) : 'true' JSON.stringify('') : '""' JSON.stringify('abc') : '"abc"' JSON.stringify([1,2,3]) : '[1,2,3]' JSON.stringify([undefined, undefined]) : '[null,null]' JSON.stringify({name:'chyingp', age:24, u:undefined}) : '{"name":"chyingp","age":24}' 下面是json对象转字符串的代码实现: 代码如下: function is_number(obj){ return Object.prototype.toString.call(obj)==='[object Number]'; } function is_boolean(obj){ return Object.prototype.toString.call(obj)==='[object Boolean]'; } function is_string(obj){ return Object.prototype.toString.call(obj)==='[object String]'; } function is_null(obj){ return Object.prototype.toString.call(obj)==='[object Null]'; } function is_undefined(obj){ return Object.prototype.toString.call(obj)==='[object Undefined]'; } function is_object(obj){ return Object.prototype.toString.call(obj)==='[object Object]'; } function is_array(obj){ return Object.prototype.toString.call(obj)==='[object Array]'; } function is_function(obj){ return Object.prototype.toString.call(obj)==='[object Function]'; } function quote(str){ return '"' + str + '"'; } var basic_map = { '[object Undefined]': true, '[object Number]': true, '[object Null]': true, '[object Boolean]': true } function basic_type(obj){ return basic_map[ Object.prototype.toString.call(obj) ]; } JSON = window.JSON || {}; //其实就是JSON.stringify JSON.toStr = function(obj){ if(is_string(obj) || is_null(obj) || is_number(obj) || is_boolean(obj)) return quote(obj); if(is_undefined(obj)) return obj; if(is_array(obj)){ var left = "[", middle = [], right = "]", value; var callee = arguments.callee; for(var i=0,len=obj.length; i小编还为您整理了以下内容,可能对您也有帮助:

js 怎么将一个对象转成字符串

JavaScript将对象转化成字符串,一般是使用JSON.stringify()。

1、JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或者如果指定了replacer是一个数组,可选的仅包括指定的属性。

2、运行实例图:

扩展资料:

语法:JSON.stringify(value[, replacer [, space]])

参数:

1、value,是将要序列化成 一个JSON 字符串的值。

2、replacer (可选),如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为null或者未提供,则对象所有的属性都会被序列化;

3、space (可选),指定缩进用的空白字符串,用于美化输出(pretty-print);如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数为字符串(字符串的前十个字母),该字符串将被作为空格;如果该参数没有提供(或者为null)将没有空格。

返回值 :一个表示给定值的JSON字符串。

参考资料来源:MDN web docs—JSON.stringify()

js怎么把json数组转换成字符串

1、javascript里面的数组都是关联数组吧?js对象的本质就是关联数组。索引数组也就是常说的数组,数组是对象,所以数组的本质也是关联数组,但通常没人这么说。2、唯一区别就是:索引数组的索引只能是0和正整数,但它是有序的。关联数组的索引很宽松,但关联数组是无序的,就这个。3、json对象是严格版本的关联数组。4、至少在chrome下,索引数组和关联数组的速度是一样的。5、索引数组的好处就是格式简单,关联数组的好处是键可以任意定义。现代浏览器中提供了JSON.stringify()方法将数组,对象转成json。JSON.stringify把一个对象转换成json字符串,JSON.parse把一个json字符串解析成对象。不支持的可以引入json2.js$.fn.stringifyArray=function(array){returnJSON.stringify(array)}$.fn.parseArray=function(array){returnJSON.parse(array)}然后调用:$("").stringifyArray(array)

js怎么把json数组转换成字符串

1、javascript里面的数组都是关联数组吧?js对象的本质就是关联数组。索引数组也就是常说的数组,数组是对象,所以数组的本质也是关联数组,但通常没人这么说。2、唯一区别就是:索引数组的索引只能是0和正整数,但它是有序的。关联数组的索引很宽松,但关联数组是无序的,就这个。3、json对象是严格版本的关联数组。4、至少在chrome下,索引数组和关联数组的速度是一样的。5、索引数组的好处就是格式简单,关联数组的好处是键可以任意定义。现代浏览器中提供了JSON.stringify()方法将数组,对象转成json。JSON.stringify把一个对象转换成json字符串,JSON.parse把一个json字符串解析成对象。不支持的可以引入json2.js$.fn.stringifyArray=function(array){returnJSON.stringify(array)}$.fn.parseArray=function(array){returnJSON.parse(array)}然后调用:$("").stringifyArray(array)

JS中 怎么将json对象转化成字符串

Obj2str: function(o) {

if (o == undefined) {

return "";

}

var r = [];

if (typeof o == "string") return "\"" + o.replace(/([\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";

if (typeof o == "object") {

if (!o.sort) {

for (var i in o)

r.push("\"" + i + "\":" + fn.Obj2str(o[i]));

if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {

r.push("toString:" + o.toString.toString());

}

r = "{" + r.join() + "}"

} else {

for (var i = 0; i < o.length; i++)

r.push(fn.Obj2str(o[i]))

r = "[" + r.join() + "]";

}

return r;

}

return o.toString().replace(/\"\:/g, '":""');

}

如何将 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()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

2、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name);

Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

站点网还为您提供以下相关内容希望对您有帮助:

js 怎么将一个对象转成字符串

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

js中的jsonarray对象怎么转成字符串

一、JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象://由JSON字符串转换为JSON对象 var obj = eval('(' + str + ')');或者 var obj = str.parseJSON(); //由JSON字符串转换为...

JS中 怎么将json对象转化成字符串

if (typeof o == "string") return "\"" + o.replace(/([\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";if (typeof o...

JS操作JSON有哪些方法

如下:JSON字符串: JSON对象: 1、将String转化为JSON 2、将JSON转化为String 三、JSON的输出美化上一节我们讲到了将JSON对象转化为JSON字符串可以用JSON.stringify() 方法,stringify还有个可选参数space(1&lt;=space&lt;=10)...

javascript把JSON对象数组转换成JSON字符串

add方法改成 function add(id,name,age){ humens.push({ id: id,name: name,age: age });} 原因是你push进去的是function function是不可序列化的, stringify之后会变成null ...

像这样的json格式怎么转换成字符串

JSON.stringify() 可以将任意的 JavaScript 值序列化成 符合JSON语法的 字符串。JSON.stringify({}); // '{}'JSON.stringify(true); // 'true'JSON.stringify("foo"); // '"foo"'JSON.stringify([1,...

js中怎么把对象转成string

你说转出字符串,其实在前端里应该说是转成json字符串,用JSON.stringify(Obj); 就可以了,如图:

jsonObject和JsonArray转化String

1.将bean转换成Json字符串:     return new Gson().toJson(bean);2.将Json字符串转换成对象:     Gson gson = new Gson();   ...

如何把json对象转换成字符串

1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如下。JSONObject jsonObject = JSONObject.fromObject(jsonStr);[java] view plain copy 根据json中的键得到它的值 String name = jso...

js在怎么把listjsonobject转成json字符串

var obj = JSON.parse(str);//由JSON字符串转换为JSON对象 var last=obj.toJSONString();//将JSON对象转化为JSON字符 或者 var last=JSON.stringify(obj);//将JSON对象转化为JSON字符 希望我的回答可以帮到你 ...

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

猜你喜欢

Top