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字符串转换成对象或数组。
JSON对象和JSON字符串以及JSON.parse 函数的使用的更多相关文章
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...
- 前台 JSON对象转换成字符串 相互转换 的几种方式
在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...
- JS json对象(Object)和字符串(String)互转方法
[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 ...
- js 将json对象转成字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 关于JSON对象,以及联合数组,eval函数的使用参考
关于JSON对象,以及联合数组,eval函数的使用参考 var json="{persons:[{name:'Zhangsan',sex:'male'},{name:'Lisi',sex:' ...
- 获取Json对象的长度以及判断json对象是否为空
(如有错敬请指点,以下是我工作中遇到并且解决的问题) = = = = = = = = = = = = = = = = 获取Json对象的长度 = = = = = = = = = = = = = = ...
- JSON对象获取指定元素以及JSON.parse() 与 JSON.stringify() 的区别
利用 JSON.parse(param) 实现 例: var param = { "name" : "张三", "text" : { &qu ...
- vue axios get请求参数为json对象 而非字符串形式
axios get请求方式 传递给后台的参数都是字符串下形式,无法传递json对象 或数组对象等 post请求方式则可以实现, 但若后台接口要求必须用get方式传递对象给后台,需要装插件,实 ...
- JSON对象转换成字符串【JSON2.JS】
下载地址 https://github.com/douglascrockford/JSON-js JSON.JS和JSON2.JS的区别 JSON.JS使用的方法名称不同,用的是toJSONStrin ...
- LocalStorage存储JSON对象的问题
LocalStorage存储JSON对象的问题 localStorage - 没有时间限制的数据存储 1 var arr=[1,2,3]; 2 localStorage.setItem(" ...
随机推荐
- IPC low/medium/high density 什么意思?
http://wiki.altium.com/pages/viewpage.action?pageId=3080344 Land Pattern Information Density Level A ...
- chm TO html 另类方法
因为网上下了很多chmtohtml ,都是试用版的, 转成html网页格式,总是有限制,或是不完整,我现在找到了一种折中方法,供大家参考 一,我的资源里有工具word to chm 里面有转成网页的 ...
- [图像]用Matlab在图像上画矩形框
原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图 ...
- ThreadLocal实现session中用户信息 的线程间共享
转载自:http://blog.sina.com.cn/s/blog_4b5bc01101013gok.html ThreadLocal并不难理解,我总结的最简单的理解就是: ThreadLocal像 ...
- go语言基础之类型转换
1.类型转换 示例: package main //必须有一个main包 import "fmt" func main() { //这种不能转换的类型,叫不兼容类型 var fla ...
- ZeroClipboard及其原理介绍
系列教程地址:http://www.365mini.com/page/zeroclipboard-2_x-quick-start.htm ZeroClipboard 是国外大神开发的一个用于剪贴板复制 ...
- Asp 将MSXML2.serverXMLHTTP返回的responseBody 内容转换成支持中文编码
参考:ASP四个小技巧,抓取网页:GetBody,字节转字符BytesToBstr,正则表达式测试方法,生成静态页 Function GetBody(weburl) '创建对象 Dim ObjXMLH ...
- 更改DNS轻松访问google.com,FaceBook,Youtube等
将默认的Dns更改为42.120.21.30即可打开 https://www.google.com/ https://www.facebook.com/ https://www.youtube.com ...
- C#基础视频教程3.3 常见控件类型和使用方法
前面介绍了微软的控件,也介绍了几个第三方控件,那么这些控件是如何做出来的?即便我们自己不做控件,也至少要理解控件的原理. 如果要创建一个自定义控件,首先新建一个C#下面的Windows窗体控件库 ...
- 黑马程序员_<<TCP>>
---------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. TCP/IP 1.概述 要建立连接, ...