服务器返回到客户端json对象,是什么类型,而用ajax处理后,变成什么了。

 

> 猜测1:服务器返回的数据带双引号: "返回值",理由:因为返回的类型都是字符串。

结果无双引号:{"ID":1,"Name":"hpy","Age":18}
 
错,返回的数据确实是字符串类型。
但双引号只是字符串在C#中的语法规定(字符串由双引号括起来)
当输出到了网页(html)就原样显示了。
dataType:'text'/'html'
string
{"ID":1,"Name":"hpy","Age":18}
 

> 猜测2:若由ajax处理后,变为指定的类型了,那么ajax对字符串进行了处理。

对。
但是输出字符串,同样不会显示双引号,因为双引号也仅是作为js语言中字符串的一种表示。
所以输出字符串时,并不会带着双引号。
要判断数据是那种类型,需要用到js中的typeof语法。
 

总结:

1、字符串在程序中都有各自的表示方法(单引号,双引号),而输出字符串时基本都会原样输出。
因此我们需要知道数据的类型,需要用程序中的typeof方法。
2、服务器返回到客户端的就是一个字符串,客户端若希望拿到一个对象类型,则需要一种规则
来存储字符串。所js中出现了json语法来定义对象格式。服务器将数据序列化为json格式字符返回给客户端,此时客户端
再将这个字符串转换为对象。
jquery可以通过设置ajax的参数,dataType:'json',自动帮我们转换为json格式。
而我们想要自己转换则有3种形式。
 

>> json

> json是什么?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
 
JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
 
JSON 值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
 
 

> 字符串类型转换为json类型的几种方式.

1、eval
var jsonObj = eval('('+str+')');
2、new function
jsonObj = (new Function("return " + str))();
3、JSON.parse(str);
jsonObj = JSON.parse(str); 
// str必须是严格的JSON格式,属性需要字符串括起来。
// 否则转换失败
// 且JSON.parse是在IE8以上版本才有的。
 

> 转换错误

当字符串的值不符合json格式时,转换就会失败。

最新文章

  1. React-Native需要css和布局-20160902
  2. 前端学PHP之数据类型
  3. ps制作gif图片
  4. Mysql学习笔记(三)对表数据的增删改查。
  5. php短信发送
  6. vs2005中删除最近打开的项目和文件的记录
  7. C语言的位运算
  8. Linux删除文件后空间没有释放
  9. 1741. Communication Fiend(dp)
  10. PHP中使用cURL
  11. perl5 第五章 文件读写
  12. 左右PHP自增力、神秘递减操作
  13. ZOJ 3529 A Game Between Alice and Bob 博弈好题
  14. iOS中书写代码规范35条小建议
  15. java截取一个字符串正数或倒数某个特定字符前后的内容
  16. 2. 网友对app后端写作系列文章的写作建议
  17. mybatis-generator自動逆向生成文件
  18. Swagger 报错 no mapping found for http request with uri [/***/swagger-ui.html] in dispatcherservlet with name '***'
  19. luogu3810 陌上花开 (cdq分治)
  20. angularjs路由传递参数

热门文章

  1. unity,  在编辑界面中隐藏公开变量
  2. C++中的config设计
  3. node第一个程序
  4. Python3.x:ConfigParser模块的使用
  5. 关于JS解析编历JSON数组(含多维数组)
  6. c语言的按位运算符
  7. NOIP 数字游戏
  8. Git服务器的Gitosis安装配置及gitignore的使用方法
  9. EF Code-First 学习之旅 从已存在的数据库进行Code First
  10. HUE中Oozie执行Hive脚本