来自万能的stackoverflow分享过来
var JSON = {};
JSON.stringify = JSON.stringify || function (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 (t == "string") v = '"'+v+'"';
else if (t == "object" && v !== null) v = JSON.stringify(v);
json.push((arr ? "" : '"' + n + '":') + String(v));
}
return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
}
};
var tmp = {one: 1, two: "2"};
console.log(JSON.stringify(tmp));
// '{"one":1,"two":"2"}'
var obj1 = {"name":"robin", location:{"city":"chengdu","desc":"javaer"}}
console.log(JSON.stringify(obj1));
// '{"name":"robin","location":{"city":"chengdu","desc":"javaer"}}'
var obj2 = {"name":"robin", location:{"city":"chengdu","job":{"titile":"jee","company":"cccc"}}}
console.log(JSON.stringify(obj2));
// '{"name":"robin","location":{"city":"chengdu","job":{"titile":"jee","company":"cccc"}}}'
分享到:
相关推荐
JavaScript toString Method</title> </head> <body> [removed] var dateobject = new Date(1993, 6, 28, 14, 39, 7); stringobj = dateobject.toString(); [removed]( "St
在JavaScript中,`toString`方法是一个内置的方法,用于将对象转换为字符串表示。这个方法对于理解和操作JavaScript对象至关重要,尤其当我们需要将对象的信息以文本形式展示或者在控制台打印时。`toString`方法的...
在JavaScript中,`toString`方法是一个内置的方法,用于将对象转换为字符串形式。这个方法对于理解和调试代码至关重要,因为当你尝试打印或输出一个对象时,JavaScript引擎默认会调用该对象的`toString`方法。本篇...
在JavaScript的ES6标准中,引入了`Class`语法,这是一种更加面向对象的代码书写方式。尽管`Class`看似一种全新的结构,但它本质上仍然是基于原型(prototype)的,可以说是一种语法糖,使得对象的创建和操作更加直观...
在JavaScript编程语言中,toString()方法是一个常用的基础知识,它能够将一个对象转换成字符串形式。这个方法是Object类的一个基础方法,因此所有JavaScript中的对象都继承了这个方法。当我们调用toString()方法时,...
在JavaScript中,可以使用toString()方法和String()函数将不同类型的值转换为字符串。本文将详细解析这两种转换方法之间的区别以及它们各自的使用场景。 首先,我们来了解一下toString()方法。这个方法是几乎所有...
JavaScript 的许多内置对象都重写了 toString 方法,以实现更适合自身的功能需要。例如: * Array 的每个元素转换为字符串,并将它们依次连接起来,两个元素之间用英文逗号作为分隔符。 * Boolean 值为 true 则返回...
一个常见的误区认为数字字面量不是对象,这实际上是JavaScript解析器的一个设计缺陷,它尝试将点操作符视为浮点数字面量的一部分,导致`2.toString()`这样的表达式产生语法错误。然而,有多种变通方法可以使数字字面...
在JavaScript中,`valueOf`和`toString`方法是两种用于对象转换的核心机制,尤其是在处理基本类型和对象实例的转换时。这两个方法对于理解和编写高效、可靠的JavaScript代码至关重要。 `valueOf`方法主要用于返回...
### JavaScript Garden:深入探讨JavaScript中的陷阱与注意事项 #### 引言 《JavaScript Garden》是一份不断更新、详尽记录了JavaScript编程语言中最易犯错误、陷阱及细微问题的指南。该文档不仅帮助开发者规避常见...
在JavaScript中,数据类型转换是一个核心...总结起来,JavaScript中的类型转换规则可能比较复杂,但通过合理地控制`valueOf`和`toString`方法的行为,可以强制执行特定的类型转换逻辑,从而避免错误并控制代码行为。
JavaScript 技巧大全 JavaScript 是一种广泛应用于 Web 开发中的脚本语言,下面是常用的 JavaScript 案例大全,包括原生 JavaScript 实现字符串长度截取、获取域名主机、清除空格、替换全部、转义 HTML 标签、还原 ...
"es-tostring" 就是一个这样的开源库,它专注于处理JavaScript中的`toString`方法,尤其针对`object.prototype.toString.call(obj)`的便捷调用。 `toString`方法是JavaScript中的一个内置函数,定义在所有对象的...
在JavaScript中,`toString()`和`valueOf()`是两种常见的对象方法,它们的作用在于将对象转换成更适合当前上下文的表示形式。尽管这两种方法在很多情况下都可以用来获取对象的字符串表示,但它们之间存在一些关键的...
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Object.prototype.toString.call(arr)) //[object Array] 本文要讲的就是,...
在JavaScript中,`Number`对象提供了一种便捷的方式将数值转换为字符串,这就是`toString()`方法。这个方法的核心功能是将数字转换成文本形式,它返回一个表示`Number`对象值的字符串。在某些场景下,这非常有用,...
在JavaScript编程语言中,我们经常会遇到各种微妙的语法陷阱,其中`10..toString()`与`10.toString()`之间的差异就是一个典型的例子。这个问题的核心在于JavaScript引擎如何解析代码中的点`.`字符。 首先,让我们来...
JavaScript中的valueOf和toString方法是两种常见的对象转换方法,它们用于将JavaScript对象转换为基本数据类型。在JavaScript中,除了null,几乎所有内置的数据类型都具备这两个方法。这些方法在处理值的计算和显示...