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(" ...
随机推荐
- 【mybatis】mybatis动态order by 的问题, 注意 只需要把#{} 改成 ${} 即可
先说解决方案: 注意 只需要把#{} 改成 ${} 即可 再看 使用过程: Mapper.java List<IntegralGoods> findInUid(@Param(" ...
- GO -- 一个经验
加锁要在有用的的上下文再加锁, 不要加的范围多了, 否则被锁住.
- Java并发教程(Oracle官方资料)
计算机的使用者一直以为他们的计算机可以同时做很多事情.他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作.甚至对于单个应用程序,他们任然期待它能在在同一 ...
- Valgrind 内存泄漏工具
Valgrind 是一款 Linux下(支持 x86.x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和 ...
- OpenCV定制化创建角点检测子
定制化创建角点检测子 目标 在这个教程中我们将涉及: 使用 OpenCV 函数 cornerEigenValsAndVecs 来计算像素对应的本征值和本征向量来确定其是否是角点. 使用OpenCV 函 ...
- Python学习(四)数据结构 —— set frozenset
集合类型 set frozenset 赋值及去重 set 是一个无序不重复元素集,还有个frozenset 类型(顾明思议,就是不可改变元素的集合): 基本功能包括关系测试和消除重复元素:set支持 ...
- myeclipse使用maven教程
本教程包括 1.使用myeclipse构建maven下载jar包 2.使用myeclipse运行maven命令 3.使用myeclipse管理maven项目 搭建maven教程以后有时间了贴进来. 1 ...
- apache环境 php开启intl扩展
将php目录下的icu开头的所有dll文件copy到apache/bin目录 再开启 extension=php_intl.dll 扩展,重启apache.
- 【转】6 Reasons Why JavaScript’s Async/Await Blows Promises Away (Tutorial)
原文:https://hackernoon.com/6-reasons-why-javascripts-async-await-blows-promises-away-tutorial-c7ec105 ...
- GCD的基本概念
GCD是苹果在OS X Snow Leopard跟iOS4后引入的一个技术,利用GCD,我们可以将多线程代码编写的很优雅.在使用GCD前,我们可以简章回顾下传统的多线程技术. int main() { ...