//经测试 可用
Object.prototype.deep_clone = function(){
eval("var tmp = " + this.toJSON());
return tmp;
}
Object.prototype.toJSON = function(){
var json = [];
for(var i in this){
if(!this.hasOwnProperty(i)) continue;
//if(typeof this[i] == "function") continue;
json.push(
i.toJSON() + " : " +
((this[i] != null) ? this[i].toJSON() : "null")
)
}
return "{\n " + json.join(",\n ") + "\n}";
}
Array.prototype.toJSON = function(){
for(var i=0,json=[];i<this.length;i++)
json[i] = (this[i] != null) ? this[i].toJSON() : "null";
return "["+json.join(", ")+"]"
}
String.prototype.toJSON = function(){
return '"' +
this.replace(/(\\|\")/g,"\\$1")
.replace(/\n|\r|\t/g,function(){
var a = arguments[0];
return (a == '\n') ? '\\n':
(a == '\r') ? '\\r':
(a == '\t') ? '\\t': ""
}) +
'"'
}
Boolean.prototype.toJSON = function(){return this}
Function.prototype.toJSON = function(){return this}
Number.prototype.toJSON = function(){return this}
RegExp.prototype.toJSON = function(){return this}
// strict but slow
String.prototype.toJSON = function(){
var tmp = this.split("");
for(var i=0;i<tmp.length;i++){
var c = tmp[i];
(c >= ' ') ?
(c == '\\') ? (tmp[i] = '\\\\'):
(c == '"') ? (tmp[i] = '\\"' ): 0 :
(tmp[i] =
(c == '\n') ? '\\n' :
(c == '\r') ? '\\r' :
(c == '\t') ? '\\t' :
(c == '\b') ? '\\b' :
(c == '\f') ? '\\f' :
(c = c.charCodeAt(),('\\u00' + ((c>15)?1:0)+(c%16)))
)
}
return '"' + tmp.join("") + '"';
}
//测试:var obj = new object(); obj.id = '007'; var jsonStr = obj.toJSON();
分享到:
相关推荐
这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...
本篇文章将深入探讨如何将JSON字符串转换为C++类对象,以实现数据的有效操作和管理。 首先,我们需要一个库来解析JSON字符串。在C++中,有许多流行的JSON库可供选择,例如nlohmann/json、jsoncpp、RapidJSON等。...
以下我们将详细探讨Java中将对象转换为JSON字符串的三种方法,这里使用的是阿里巴巴的Fastjson库,它是一个高性能的JSON库,提供了丰富的API来处理JSON与Java对象之间的转换。 1. **将Java对象转成JSON串** 当我们...
在Java编程中,我们经常需要将JSON格式的数据转换为Java对象,这通常涉及到将JSON字符串转化为List泛型。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
在JavaScript中,经常需要将JSON字符串转换为JSON对象,以便能够操作和处理这些数据。然而,在这个过程中,可能会遇到一些转义问题,特别是在涉及到特殊字符时。本文将深入探讨JavaScript中JSON字符串到JSON对象的...
- `ObjectMapper.readValue(jsonStr, Class<T>)`: 反序列化JSON字符串到指定类型的Java对象。 - 使用Gson库: - `Gson().toJson(object)`: 序列化Java对象到JSON字符串。 - `Gson().fromJson(jsonStr, Class<T>)...
给出的C#代码片段展示了如何将`DataTable`对象转换为JSON字符串。`DataTable`是.NET Framework中用于存储、检索和操作数据的一种方式,类似于关系数据库中的表。让我们逐行分析代码: ```csharp public static ...
本篇文章将详细介绍如何在JavaScript中进行JSON对象与JSON字符串之间的相互转换。 ### JSON对象 JSON对象是JavaScript中的一个对象,其属性名必须用双引号括起来,属性值可以是字符串、数字、布尔值、null、数组或...
要将`Video`对象转换为JSON字符串,我们可以使用Gson的`Gson`类和`toJson()`方法: ```java import com.google.gson.Gson; // 创建一个Video对象 Video video = new Video(); video.setTitle("视频标题"); video....
当我们需要将JavaScript对象序列化为JSON字符串,或者将JSON字符串解析为JavaScript对象时,可以使用内置的`JSON.stringify()`和`JSON.parse()`方法。 **1. JSON.stringify()** 此方法用于将JavaScript值转换为JSON...
在处理JSON数据时,我们经常需要对JSON字符串进行解析,将其转化为JavaScript对象以便进一步操作。当JSON字符串中包含嵌套的对象或数组时,就需要使用递归方法来解析。递归是一种解决问题的方法,它将问题分解成更小...
JSON 转换是指将 JSON 数据与其他数据格式之间的相互转换,包括将 JavaScript 对象转换为 JSON 字符串、将 JSON 字符串转换为 JavaScript 对象、将 JSON 字符串转换为 Java 对象等。通过使用不同的方法和工具类,...
例如,如果你有一个JSON字符串`jsonStr`代表用户对象,且用户对象为`User`类的一个实例,你可以这样操作: ```java String jsonStr = "{\"name\":\"John\", \"age\":30}"; User user = JsonUtil.getObject(jsonStr,...
Fastjson的使用也非常直观,`JSON.toJSONString(obj)`可将Java对象转为JSON字符串,`JSON.parseObject(jsonStr, YourClass.class)`则完成反序列化。 这些库不仅支持基本类型和普通对象的转换,还支持集合、Map以及...
此外,除了手动解析和构建JSON,Delphi还提供了便利的JSON流服务(TJSONStreamer),可以将Delphi的记录、类等数据类型直接序列化为JSON字符串,或者反序列化JSON字符串为Delphi对象。 在压缩包子文件的文件名称...
在这个示例中,我们首先使用`JavaScriptSerializer`将JSON字符串转换为`Dictionary, object>`,然后遍历这个字典,对每个键执行转换操作,并将转换后的键和对应的值放入新的字典`resultDict`中。`ConvertKey`方法...
下面我们将详细介绍如何使用 Java 和 Spring Boot 将 JSON 字符串转换为 List。 JSON 转换为 List 的必要性 在 Java 和 Spring Boot 应用程序中,我们经常需要将 JSON 数据转换为可读的格式,以便于后续的数据处理...
JavaScript提供了`JSON.stringify()`函数,它可以将JS对象序列化为JSON字符串。以下是几种不同类型的JS对象示例: 1. 普通JS对象:`{name: "张三"}` 序列化后仍为相同结构的JSON字符串。 2. 包含方法的JS对象:`{...
总结来说,JavaScript提供了`JSON.parse()`和`JSON.stringify()`两个核心方法,用于在JSON字符串和JavaScript对象/数组之间进行转换。理解并熟练运用这两个方法,能帮助开发者有效地处理和交换JSON数据。在实际开发...