操作json数组和json对象,和使用$.post方法

var jsonarray = eval('('+"[]"+')');  
					jsonarray.push(
						{
							"openid":"1",
							"operate_type":"sbbb"
						}
					);

首先我们知道,数组最外层是[],而对象最外层是{}。

上面代码首先是创建了一个json数组,这里eval函数里必须有两个被单引号包起来的括号,具体原因请自行百度。而因为数组最外层是[],所以第一行代码里是"[]"。这样变量jsonarray就可以使用数组的函数或者操作了。比如push。而push参数里只需要给出json数据的正确字符串格式即可,函数会自动把其转化为数组元素。

				var jsonObject = eval('('+"{}"+')');  
				jsonObject.name = "zhang";
				jsonObject.old = "18";
				jsonObject.person = [{"name":"taylor","old":"22"},{"name":"taylor","old":"18"}]; 
				console.log(jsonObject);
而要创建json对象, 因为对象 最外层是{},所以第一行代码里是"{}"。这样变量jsonObject就可以使用对象的函数或者操作了。要设定key与value如第二三行代码即可。如果某个key的value是数组,那么给出json数组的正确字符串格式即可。


jquery中的$.post方法

					$.post("{php echo web_url('management/management/set_admini');}", {group_id : group_id ,admini_to_set : jsonObject }, function(data){
						alert(data);
						
					});
当将json数组或者json对象传到php后台时,在php中用$admini_to_set = $_POST ['admini_to_set']将传的参数取出来后,发现:无论是 json数组或者json对象,只要用上述取出参数,此参数必定会变成一个php数组。


猜你喜欢

转载自blog.csdn.net/anlian523/article/details/79187379