`
i_am_birdman
  • 浏览: 281239 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

js object 转化为 json字符串

 
阅读更多
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
分享到:
评论

相关推荐

    json字符串转化为list泛型

    在Java编程中,我们经常需要将JSON格式的数据转换为Java对象,这通常涉及到将JSON字符串转化为List泛型。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    C语言实现的 json格式字符串与结构体自动相互转化

    反之,将结构体转化为JSON字符串则是将结构体中的数据转换为JSON格式的文本,便于在网络间传递或存储。 关于“反射”这一概念,在许多面向对象的语言中,反射允许程序在运行时检查和修改其自身的结构和行为。在...

    C实现的 json格式字符串与结构体转化

    要将JSON字符串转化为结构体,首先需要对JSON字符串进行解析,获取其中的键值对。`cjson`库提供了` cJSON_Parse()`函数,用于解析JSON字符串并返回一个`cJSON`对象。这个对象代表了JSON数据的树形结构,可以通过遍历...

    js中的json对象和字符串之间的转化

    2. **字符串与JSON对象之间的转化**:JavaScript提供了两个内置函数来实现这种转化:`JSON.stringify()`用于将JavaScript对象转换为JSON字符串,`JSON.parse()`用于将JSON字符串转换回JavaScript对象。 **描述中的...

    使用json-lib将java对象转换成json字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    【android开发】实体类和JSON字符串之间相互转化

    // 将User对象转化为JSON字符串 ``` JSON字符串`jsonString`会类似于:`{"name":"John Doe","age":30}`。 同样,我们可以将JSON字符串反序列化回实体类对象: ```java String jsonString = "{\"name\":\"John ...

    将json字符串转换为对象

    标题提到的“将json字符串转换为对象”,实际上是在指JSON.parse()方法,这个方法在JavaScript中用于将一个合法的JSON字符串转化为JavaScript对象。例如,我们有一个如下的JSON字符串: ```json let jsonString = '...

    json字符串转换c++类对象

    在C++编程中,将JSON字符串转换为C++类对象是一项常见的任务,特别是在处理网络通信、数据存储或配置文件时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...

    将web Form 的数据转化成json字符串及json对象进行处理的JS

    4. **转换为JSON字符串**:使用JavaScript内置的`JSON.stringify`方法将构建好的对象转换为JSON字符串。 5. **处理JSON对象**:如果需要在客户端进一步处理JSON数据,可以将其解析为JavaScript对象,使用`JSON....

    json字符串转成 Map/List

    将JSON字符串转化为Map,可以使用`fromJson()`方法: ```java import com.google.gson.Gson; import java.util.Map; String jsonString = "{\"key\":\"value\"}"; Gson gson = new Gson(); Map, Object> map...

    json_lib使用实例:java对象与json字符串的互转

    这个库提供了丰富的API,使得我们可以轻松地将Java对象转化为JSON字符串,以及将JSON字符串反序列化为Java对象。 ### JSON对象与Java对象的转换 1. **JSON字符串转Java对象** 使用`json-lib`,我们可以将JSON...

    json转化工具,字符串格式化工具,方便又快捷

    本工具专注于JSON的转化和格式化,旨在提供一个方便快捷的方式来处理JSON字符串,便于开发者进行数据分析和问题排查。 1. JSON的结构与基本元素: JSON由对象(Object)和数组(Array)两种基本类型构成。对象由...

    解析Json字符串直接转换为对象(包括多层List集合 嵌套)所用jar包

    标题和描述提及的是将JSON字符串转换为Java对象,特别是涉及多层嵌套和List集合的情况。这在处理复杂数据结构时非常常见,比如服务器返回的响应可能包含嵌套的对象和数组。下面我们将详细介绍如何使用Jackson库来...

    python对象转json字符串小工具

    本小工具正是用于将Python对象转化为JSON字符串。 在Python中,`json`模块提供了两个主要函数来实现Python对象到JSON字符串的转换:`dumps()`和`dump()`。`dumps()`函数将Python对象转化为JSON字符串,而`dump()`则...

    json字符串解析工具google

    2. **Java对象到JSON字符串的序列化**:相反,Gson也可以将Java对象转化为JSON格式的字符串,使得数据可以在网络上进行传输或者存储。例如,一个Person类的对象可以通过Gson转化为对应的JSON表示。 3. **复杂类型的...

    将json字符串转化为对象

    使用Fastjson转化JSON字符串为Java对象的步骤如下: 1. 引入Fastjson的依赖:在Java项目中,我们需要将`fastjson-1.1.35.jar`添加到类路径中,或者在Maven或Gradle项目中声明对应的依赖。 2. 转化JSON字符串为Java...

    利用Google Gson实现JSON字符串和对象之间相互转换

    当你有一个Java对象并想将其转化为JSON字符串时,可以使用`Gson().toJson()`方法;反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单...

    jsMap转换为JSON 字符串.docx

    这个方法是JavaScript内置的,用于将JavaScript值(包括对象和数组)转换为JSON字符串。其基本语法如下: ```javascript JSON.stringify(value[, replacer[, space]]) ``` - `value`:要转换的JavaScript值。 - `...

    cJSON库(json格式字符串进行转化)

    接着,我们创建了一个新的JSON对象,并添加了"name"和"age"字段,最后将其转换回JSON字符串并打印。 **6. 注意事项** 使用cJSON库时,要注意以下几点: - cJSON不检查内存溢出,确保有足够的内存分配。 - 解析后的...

    解析unicode的json字符串的cJSON,支持宽字符串

    它提供了一个简单易用的API,可以方便地将JSON字符串转化为C结构体,以及将C结构体转化为JSON字符串。然而,原生的CJSON并不直接支持Unicode,尤其是宽字符的处理,这在处理包含多语言字符的JSON数据时可能会遇到...

Global site tag (gtag.js) - Google Analytics