JSON对象和JSON字符串以及JSON.parse 函数的使用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JSON.parse()</title>
<script type="text/javascript">
	//演示样例1:此演示样例使用 JSON.parse 将 JSON 字符串转换为对象
	var jsontext = ‘{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}‘;//JSON 字符串
	var contact = JSON.parse(jsontext);
	document.write(contact.surname + ", " + contact.firstname + ", "+ contact.phone);

	//演示样例2:和实例1是一样的效果
	var jsontext2 = {"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]};//JSON 对象
	//var contact2 = JSON.parse(jsontext2);
	document.write("<br /><br />"+jsontext2.surname + ", " + jsontext2.firstname + ", "+ jsontext2.phone);
</script>
</head>
<body>
</body>
</html>

输出:

Aaberg, Jesper, 555-0100,555-0120

Aaberg, Jesper, 555-0100,555-0120

************************************************************************************

前端页面接收JSON对象的实例:

<script>
	sendRecord(‘1‘);
	function sendRecord(record){
		var req = {
			user_id:<?php echo $userId;?>,
			record:record,
		}
		$.ajax({
			url: "./a.php",
			type:"post",
			data:req,
			dataType:"JSON", //返回数据格式为JSON对象
			success: function(res){
			    alert(Object.prototype.toString.apply(res));//alert输出[object Object],不用JSON.parse()解析
				if(res.result==1){
					alert(‘11‘);
				}else if(res.result==2){
					alert(‘22‘);
				}else if(res.result==3){
					alert(‘33‘);
				}
			},
			error: function(){
				alert(‘error000‘);
				console.log(this);
			}
		});
	}
</script>

a.php

<?php
	$record = $_POST[‘record‘];

	if ($record==1) {
		$json[‘result‘] = 1;
	}elseif($record==2){
		$json[‘result‘] = 2;
	}elseif($record==3){
		$json[‘result‘] = 3;
	}

	$json = json_encode($json);
	echo $json;  //{"result":1}
?>

***************************************************************************

<script type="text/javascript" src="./jquery.min.js"></script>
<script>
	sendRecord(‘2‘);
	function sendRecord(record){
		var req = {
			record:record,
		}
		$.ajax({
			url: "./b.php",
			type:"post",
			data:req,
			dataType:"JSON", //返回数据格式为JSON对象
			success: function(res){
				//加上dataType:"JSON",alert输出[object Array],不须要JSON.parse()解析
				//不加dataType:"JSON",alert输出[object String],须要JSON.parse()解析
				alert(Object.prototype.toString.apply(res));
				//var res2 = JSON.parse(res);
				alert(res);
			},
			error: function(){
				alert(‘error000‘);
				console.log(this);
			}
		});
	}
</script>

b.php

<?

php
	$record = $_POST[‘record‘];
	if ($record==1) {
		$json = array(‘a‘,‘aa‘);
	}elseif($record==2){
		$json = array(‘b‘,‘bb‘);
	}elseif($record==3){
		$json = array(‘c‘,‘cc‘);
	}
	$json = json_encode($json);
	echo $json;  //["b","bb"]
?

>

总结:假设后台是通过echo json_encode();输出json字符串的话,并且前台使用了dataType:"JSON", 那么则不须要JSON.parse();把json字符串转换成对象或数组。

时间: 2024-10-10 04:26:51

JSON对象和JSON字符串以及JSON.parse 函数的使用的相关文章

json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

主要内容: 一.json相关概念 二.json字符串转换成json对象 (字符串-->JSON对象) 三.json对象转换成字符串(json对象-->字符串) 四.将值转换成字符串(值-->字符串) 五.字符串转成值(字符串-->值) 同步的交流学习社区:http://www.mwcxs.top/page/425.html 一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想

前台 JSON对象转换成字符串 相互转换 的几种方式

在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用request进行接收.有时传递了几个数值,还好接收.但是如果传递一个json数组,这样后台接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递.例如下面的例子: 前台按类的格式传递JSON对象: var jsonUserInfo = "{\"TUserName\&quo

JSON对象转换成字符串【JSON2.JS】

下载地址 https://github.com/douglascrockford/JSON-js JSON.JS和JSON2.JS的区别 JSON.JS使用的方法名称不同,用的是toJSONString()和parseJSON() ,使用的时候,和JQUERY的AJAX会产生冲突. JSON2.JS改进了上面的缺点 使用方法 在页面中添加json2.js的引用. <script type="text/javascript" src="/CoreResource/JS/j

JS json对象(Object)和字符串(String)互转方法

[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 string -> jsonObj JSON.parse(jsonString); jsonObj -> string JSON.stringify(jsArr); 记录一下 原文地址:https://www.cnblogs.com/d-i-p/p/11025164.html

Java中关于Json对象类型和字符串类型之间互相转化的问题

Java中关于Json格式转化Object,Map,Collection类型和String类型之间的转化在我们实际项目中应用的很是普遍和广泛.最近工作的过程中也是经常有,因此,自己封装了一个JsonUtil.java类. 所需要的jar包:slf4j-jdk14-1.5.6.jar,slf4j-api-1.5.6.jar------>此两个jar包是slf4j日志jar包 jackson-annotations-2.1.1.jar,jackson-core-2.1.1.jar,jackson-d

JSON对象与XML相互转换工具类

依赖jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</

JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)将字符串转为JSON格式: var a={"name":"tom","sex":"男","age":"24"}; var aToStr =

JSON对象和字符串之间的相互转换 – JSON.parse() 和 JSON.stringify()

所有现代浏览器都支持 JSON 对象,有两个非常有用的方法来处理 JSON 格式的内容: JSON.parse(string) :接受一个 JSON 字符串并将其转换成一个 JavaScript 对象. JSON.stringify(obj) :接受一个 JavaScript 对象并将其转换为一个 JSON 字符串. 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. 比如我有两个变量,我要将a

json对象和json字符串转换方法

在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明确2个概念例如: JSON字符串: var str1 = '{ "name": "deyuyi", "sex": "man" }'; JSON对象: var str2 = { "name": "del

json对象和json字符串有啥区别啊

json对象可以通过javascript存取属性!json对象装成json字符串经常用于前后台传输数据! 如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了 ajax中,我们自己拼接的是一个JSON对象,以为它是无数据类型的,所以JS根据其格式默认其实对象, 你要是往后台发,要先把它装换成JSON字符. 从ajax的服务器发过的,一定是字符串,你想要把它解析,很简单,把它先变成JSON对象才行. 太厉害了. 在数据传输过程中,json是以文本,即字符串