1.用object.constructor判断object类型
function Serialize(obj) {
switch (obj.constructor) {
case Object:
var str = "{";
for ( var o in obj) {
str += o + ":" + Serialize(obj[o]) + ",";
}
if (str.substr(str.length - 1) == ",")
str = str.substr(0, str.length - 1);
return str + "}";
break;
case Array:
var str = "[";
for ( var o in obj) {
str += Serialize(obj[o]) + ",";
}
if (str.substr(str.length - 1) == ",")
str = str.substr(0, str.length - 1);
return str + "]";
break;
case Boolean:
return "\"" + obj.toString() + "\"";
break;
case Date:
return "\"" + obj.toString() + "\"";
break;
case Function:
break;
case Number:
return "\"" + obj.toString() + "\"";
break;
case String:
return "\"" + obj.toString() + "\"";
break;
}
}
2.用typeof判断类型,并过滤function类型
function Serialize(obj) {
//var result="";
//alert(typeof obj);
//alert(typeof(typeof obj));
switch (typeof obj) {
case 'object':
//alert("Object!!!!");
var str = "{";
for ( var o in obj) {
// alert(o.toString);
if(typeof obj[o] !='function')
str += "\"" + o +"\"" + ":" + Serialize(obj[o]) + ",";
}
if (str.substr(str.length - 1) == ",")
str = str.substr(0, str.length - 1);
return str + "}";
break;
case 'array':
var str = "[";
for ( var o in obj) {
str += Serialize(obj[o]) + ",";
}
if (str.substr(str.length - 1) == ",")
str = str.substr(0, str.length - 1);
return str + "]";
break;
case 'boolean':
return "\"" + obj.toString() + "\"";
break;
case 'date':
return "\"" + obj.toString() + "\"";
break;
case 'function':
//alert(obj.toString);
return "\"\"";
break;
case 'number':
return "\"" + obj.toString() + "\"";
break;
case 'string':
return "\"" + obj.toString() + "\"";
break;
case 'undefined':
return "\"\"";
break;
}
//alert(result);
//return result;
}
遇到一个问题,typeof无法判断array类型。
因此在object里判断是否是array类型
判断是否是数组方法,除了用constructor外,还有如下
function isArray(o) {
return Object.prototype.toString.call(o) === '[object Array]';
}
或用
instanceof
参考:
http://www.cnblogs.com/mofish/p/3388427.html
分享到:
相关推荐
在Java编程中,我们经常需要将JSON格式的数据转换为Java对象,这通常涉及到将JSON字符串转化为List泛型。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
反之,将结构体转化为JSON字符串则是将结构体中的数据转换为JSON格式的文本,便于在网络间传递或存储。 关于“反射”这一概念,在许多面向对象的语言中,反射允许程序在运行时检查和修改其自身的结构和行为。在...
要将JSON字符串转化为结构体,首先需要对JSON字符串进行解析,获取其中的键值对。`cjson`库提供了` cJSON_Parse()`函数,用于解析JSON字符串并返回一个`cJSON`对象。这个对象代表了JSON数据的树形结构,可以通过遍历...
2. **字符串与JSON对象之间的转化**:JavaScript提供了两个内置函数来实现这种转化:`JSON.stringify()`用于将JavaScript对象转换为JSON字符串,`JSON.parse()`用于将JSON字符串转换回JavaScript对象。 **描述中的...
标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...
// 将User对象转化为JSON字符串 ``` JSON字符串`jsonString`会类似于:`{"name":"John Doe","age":30}`。 同样,我们可以将JSON字符串反序列化回实体类对象: ```java String jsonString = "{\"name\":\"John ...
标题提到的“将json字符串转换为对象”,实际上是在指JSON.parse()方法,这个方法在JavaScript中用于将一个合法的JSON字符串转化为JavaScript对象。例如,我们有一个如下的JSON字符串: ```json let jsonString = '...
在C++编程中,将JSON字符串转换为C++类对象是一项常见的任务,特别是在处理网络通信、数据存储或配置文件时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...
4. **转换为JSON字符串**:使用JavaScript内置的`JSON.stringify`方法将构建好的对象转换为JSON字符串。 5. **处理JSON对象**:如果需要在客户端进一步处理JSON数据,可以将其解析为JavaScript对象,使用`JSON....
将JSON字符串转化为Map,可以使用`fromJson()`方法: ```java import com.google.gson.Gson; import java.util.Map; String jsonString = "{\"key\":\"value\"}"; Gson gson = new Gson(); Map, Object> map...
这个库提供了丰富的API,使得我们可以轻松地将Java对象转化为JSON字符串,以及将JSON字符串反序列化为Java对象。 ### JSON对象与Java对象的转换 1. **JSON字符串转Java对象** 使用`json-lib`,我们可以将JSON...
本工具专注于JSON的转化和格式化,旨在提供一个方便快捷的方式来处理JSON字符串,便于开发者进行数据分析和问题排查。 1. JSON的结构与基本元素: JSON由对象(Object)和数组(Array)两种基本类型构成。对象由...
标题和描述提及的是将JSON字符串转换为Java对象,特别是涉及多层嵌套和List集合的情况。这在处理复杂数据结构时非常常见,比如服务器返回的响应可能包含嵌套的对象和数组。下面我们将详细介绍如何使用Jackson库来...
本小工具正是用于将Python对象转化为JSON字符串。 在Python中,`json`模块提供了两个主要函数来实现Python对象到JSON字符串的转换:`dumps()`和`dump()`。`dumps()`函数将Python对象转化为JSON字符串,而`dump()`则...
2. **Java对象到JSON字符串的序列化**:相反,Gson也可以将Java对象转化为JSON格式的字符串,使得数据可以在网络上进行传输或者存储。例如,一个Person类的对象可以通过Gson转化为对应的JSON表示。 3. **复杂类型的...
使用Fastjson转化JSON字符串为Java对象的步骤如下: 1. 引入Fastjson的依赖:在Java项目中,我们需要将`fastjson-1.1.35.jar`添加到类路径中,或者在Maven或Gradle项目中声明对应的依赖。 2. 转化JSON字符串为Java...
当你有一个Java对象并想将其转化为JSON字符串时,可以使用`Gson().toJson()`方法;反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单...
这个方法是JavaScript内置的,用于将JavaScript值(包括对象和数组)转换为JSON字符串。其基本语法如下: ```javascript JSON.stringify(value[, replacer[, space]]) ``` - `value`:要转换的JavaScript值。 - `...
接着,我们创建了一个新的JSON对象,并添加了"name"和"age"字段,最后将其转换回JSON字符串并打印。 **6. 注意事项** 使用cJSON库时,要注意以下几点: - cJSON不检查内存溢出,确保有足够的内存分配。 - 解析后的...
它提供了一个简单易用的API,可以方便地将JSON字符串转化为C结构体,以及将C结构体转化为JSON字符串。然而,原生的CJSON并不直接支持Unicode,尤其是宽字符的处理,这在处理包含多语言字符的JSON数据时可能会遇到...