`
keren
  • 浏览: 1578974 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript json to string

阅读更多
能转化如下的数据:
case 1:
var o = {};
o.arr=[];
o.subo = {};
obj2str(o);
case 2:
var arr = [o];
obj2str(o);
case 3: 多层嵌套
var o = {};
		//o.name="so'me";
		o.so = {};
		o.arr1=[{a:"我",b:"you",'c':123,'d':234,"e":{e1:[],e2:{}}}];

		var arr = [o];
		var s = obj2str(arr);


function obj2str(o,flag,replace){
	var arr_start = "ARRAY_S";
	var arr_end = "ARRAY_E";
	if(flag==null){
		flag = "\"";//默认是双引号
	}
	if(replace==null){
		replace = true;
	}
	var r = [];
	if(typeof o == "string" || o == null) {
		return o;
	}
	//alert(typeof(o));
	if(typeof o == "object"){
		//alert(o.sort);
		if(!o.sort){
			//alert("in if");
			r[0]="{";
			for(var i in o){
				//alert(i+"="+o[i]);
				r[r.length]=flag;
				r[r.length]=i;
				r[r.length]=flag;
				r[r.length]=":";
				r[r.length]=flag;
				r[r.length]=obj2str(o[i],flag,false);
				r[r.length]=flag;
				r[r.length]=",";
			}
			r[r.length-1]="}";
		}else{//数组元素
			r[0]= arr_start;
			for(var i =0;i<o.length;i++){
				r[r.length]=flag;
				r[r.length]=obj2str(o[i],flag,false);
				r[r.length]=flag;
				r[r.length]=",";
			}
			r[r.length-1]=arr_end;
		}
	 
		var str = r.join("");
		//alert("结果:"+str);
		//针对{} 就是没有属性的对象,会返回单个 },把它补齐
		if(str=="}"){
			str="{}";
		}
		//针对[] 就是长度为0的数组,会返回单个 ],把它补齐
		if(str==arr_end){
			str=arr_start+arr_end;
		}

		if(replace){//在递归子循环中不替换,到最后统一替换
			//替换掉 "{ }" "[ ]"
			var reg=new RegExp(flag+"{","g"); // 包含字符 "{
			str = str.replace(reg,"{");

			reg=new RegExp("}"+flag,"g");// 包含字符 }"
			str = str.replace(reg,"}");
			
			reg=new RegExp(flag+arr_start,"g"); // 包含字符 "[
			str = str.replace(reg,"[");

			reg=new RegExp(arr_end+flag,"g"); // 包含字符 ]"
			str = str.replace(reg,"]");

			//alert(str);

			if(str.indexOf(arr_start+"{")>-1){
				reg=new RegExp(arr_start+"{","g"); 
				str = str.replace(reg,"[{");
			}
			if(str.indexOf("}"+arr_end)>-1){
				reg=new RegExp("}"+arr_end,"g"); 
				str = str.replace(reg,"}]");
			}
		}
		//alert("--"+str);
		return str;
	}
	return o.toString();
}

function str2obj(json){ 
	return eval("("+json+")"); 
}
分享到:
评论
1 楼 lqixv 2011-05-30  
直接用 json 官方网站中推荐的 json.js 里的 json2.js,里面提供了方法,直接引用即可

相关推荐

    javascript object to json string

    let jsonString = JSON.stringify(obj); console.log(jsonString); // 输出:'{"name":"John Doe","age":30,"city":"New York"}' ``` 在实际应用中,我们可能需要处理更复杂的情况,例如忽略某些属性或者替换某些值...

    json_to_string.rar_JSON_json string_json to Stri_json to string_

    let jsonString = JSON.stringify(obj); console.log(jsonString); // 输出:'{"name":"John","age":30,"city":"New York"}' ``` 在Python中,我们可以使用`json`模块的`dumps()`函数: ```python import json ...

    javascript对象转换成json

    let jsonString = JSON.stringify(obj); console.log(jsonString); // 输出:{"name":"John","age":30,"city":"New York"} ``` ### 注意事项 - 函数和循环引用的值不会被序列化,因为JSON不支持它们。 - undefined...

    (Java)json和String互转必备Jar包

    在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。JSON格式通常用于Web服务与客户端之间的数据传输,因为它的结构清晰,易于解析。然而,...

    javascript处理json字符串和json对象的类(含示例)

    在上述代码中,`jsonString`是一个JSON格式的字符串,通过`JSON.parse()`方法,我们将其转换为了一个JavaScript对象`jsonObject`。 二、JSON对象转换为JSON字符串 要将JavaScript对象转换为JSON字符串,可以使用`...

    JAVA JSON;String 转换为 java类

    Person person = mapper.readValue(jsonString, Person.class); System.out.println("Name: " + person.getName()); System.out.println("Age: " + person.getAge()); System.out.println("City: " + person....

    javascript json数据解析工具json2.js

    var jsonString = '{"name":"John", "age":30, "city":"New York"}'; var jsonObject = JSON.parse(jsonString); console.log(jsonObject.name); // 输出 "John" ``` 2. JSON.stringify(): 相反,这个函数将...

    JavaBean与JsonString的相互转换

    JsonString是JSON(JavaScript Object Notation)格式的字符串,它以键值对的形式表示数据,易于人类阅读和编写,同时也易于机器解析和生成。JSON的基本数据类型包括:字符串、数字、布尔、数组、对象以及null。 3...

    ios demo,JSONString to NSDictionary,字符串JSON数据转换到字典数据

    本示例“ios demo, JSONString to NSDictionary”聚焦于将JSON字符串转化为Objective-C中的NSDictionary对象,这是iOS开发中的常见操作。接下来,我们将深入探讨这个过程以及相关知识点。 首先,理解JSON的基本结构...

    string 对象 与json互转

    String jsonString = gson.toJson(map); System.out.println(jsonString); } } ``` 在上述例子中,`jsonToString`可能是一个测试类,用于验证这些转换方法。在实际开发中,你可以根据需求扩展这个测试类,例如...

    string和json 互转 -- 示例

    let jsonString = '{"name":"John", "age":30, "city":"New York"}'; let jsonObject = JSON.parse(jsonString); console.log(jsonObject); // 输出:{ name: 'John', age: 30, city: 'New York' } ``` 2. **...

    纯javascript实现json与对象的互相转换项目

    var jsonString = '{"name":"John","age":30,"city":"New York"}'; var jsonObject = JSON.parse(jsonString); console.log(jsonObject); // 输出:{ name: 'John', age: 30, city: 'New York' } ``` 相反,如果...

    JavaScript JSON使用原理及注意事项

    let jsonString = '{"name":"John Doe","age":30}'; let obj = JSON.parse(jsonString); // { name: 'John Doe', age: 30 } ``` ### 总结 理解和熟练使用JSON是JavaScript开发中的重要技能。无论是处理服务器...

    json解析源码,纯c

    `json-c`提供了`json_object_to_json_string()`函数,可以将`json_object`转换为对应的JSON字符串。这在向服务器发送HTTP请求或者存储数据时非常有用。 ### JSON对象操作 `json-c`的核心是`json_object`结构体,它...

    JsonToDart-JSON-To-Dart-2.16

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间的数据传输。在Flutter开发中,由于其跨平台的特性,经常需要处理JSON数据与Dart对象之间的转换。`JsonToDart`是一个针对...

    Javascript JSON

    在这个例子中,`jsonString` 是一个包含JSON格式数据的字符串,`JSON.parse()`函数将其转换成`jsonObject`,一个JavaScript对象。 ### 使用转换后的JavaScript对象 一旦JSON文本被解析成JavaScript对象,我们就可以...

    使用JavaScript操作JSON源码

    var jsonString = '{"name":"John","age":30,"city":"New York"}'; var jsonObject = JSON.parse(jsonString); console.log(jsonObject.name); // 输出 "John" ``` 同样,如果需要将JavaScript对象转换为JSON字符...

    JSON与String互转的实现方法(Javascript)

    JSON与字符串(String)之间的转换是前端开发及数据处理中常用的操作,以下是使用Javascript实现JSON与String互转的详细知识点。 **JSON转字符串(JSON =&gt; String)** 在Javascript中,可以编写一个函数`json...

    JsonToList参考

    例如,Java的Gson库有`Gson().fromJson(jsonString, List&lt;MyClass&gt;.class)`,Python的json模块有`json.loads(jsonString)`,C#的Newtonsoft.Json有`JsonConvert.DeserializeObject&lt;List&lt;MyClass&gt;&gt;(jsonString)`。...

    How to Convert String Value to JSON Object.zip

    let jsonString = '{"name":"John","age":30,"city":"New York"}'; let jsonObject = JSON.parse(jsonString); console.log(jsonObject); // 输出: { name: 'John', age: 30, city: 'New York' } ``` 2. **JSON....

Global site tag (gtag.js) - Google Analytics