服务器返回到客户端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格式时,转换就会失败。

服务器与客户端数据交互 (json)的更多相关文章

  1. 实现服务器和客户端数据交互,Java Socket有妙招

    摘要:在Java SDK中,对于Socket原生提供了支持,它分为ServerSocket和Socket. 本文分享自华为云社区<Java Socket 如何实现服务器和客户端数据交互>, ...

  2. 基于asp.net MVC 的服务器和客户端的交互(一)

    架构思想 三层架构 提出了一种基于ASP.NET开发方式的三层架构的Web应用系统构造思想.其基本内容是:将面向对象的UML建模与Web应用系统开发 相结合,将整个系统分成适合ASP.NET开发方式的 ...

  3. 基于asp.net MVC 的服务器和客户端的交互(三)之客户端请求响应

    一.分析 WEB API 中HTTP 请求方式的四个主要方法 (GET, PUT, POST, DELETE), 按照下列方式映射为 CURD 操作: GET 用于获取 URI 资源的进行展示,GET ...

  4. Linux系统编程(34)—— socket编程之TCP服务器与客户端的交互

    前面几篇中实现的client每次运行只能从命令行读取一个字符串发给服务器,再从服务器收回来,现在我们把它改成交互式的,不断从终端接受用户输入并和server交互. /* client.c */ #in ...

  5. Raknet实现的简单服务器与客户端的交互

    1. 首先下载Raknet的源代码,我用的是4.0的,不是最新的,解压后编译DLL工程,编译完成后进入解压的根目录下,进入Lib文件夹下找到RakNet_DLL_Debug_Win32.dll,  R ...

  6. 基于asp.net MVC 的服务器和客户端的交互(二)之获取Oauth 2.0认证权限

    基本Web API的ASP.NET的Oauth2认证 增加Token额外字段 增加Scope授权字段 持久化Token 设计Token的时间间隔 刷新Token后失效老的Token 自定义验证[重启I ...

  7. Socket实现服务器与客户端的交互

       连接过程:   根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认. (1)服务器监听:是服务器端套接字并不定位具体的客户端套接 ...

  8. json数据交互

    springmvc 的json数据交互 - 哎幽的成长 - CSDN博客--和老师讲课相同http://blog.csdn.net/u012373815/article/details/4720818 ...

  9. 10_springmvc JSON数据交互

    一.JSON数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便.比如:webservice接口,传输json数据. 二.springmvc进行数据交互 ...

随机推荐

  1. oracle 数据泵

      Oracle数据库导入导出工具,可以使用exp/imp,但这是比较早期的工具.本文主要介绍数据泵expdp/impdp工具的使用.   1.建立数据泵目录 使用数据泵需要先建directory c ...

  2. CAS单点登出的原理

    单点登出功能跟单点登录功能是相对应的,旨在通过Cas Server的登出使所有的Cas Client都登出. Cas Server的登出是通过请求“/logout”发生的,即如果你的Cas Serve ...

  3. SVN使用—工作模式及运行原理以及优缺点对比

    一.SVN原理 (1)运行方式 svn服务器有2种运行方式:独立服务器和借助apache运行. 1.独立服务器访问 访问地址如:svn://svn.test.com/test 2.借助Apache等h ...

  4. 20145219 《Java程序设计》第01周学习总结

    20145219 <Java程序设计>第01周学习总结 教材学习内容总结 软件分类:系统软件(DOS.Windows.Linux等).应用软件(扫雷.QQ等) 人机交互方式:图形化界面.命 ...

  5. Android Gradle 构建工具(Android Gradle Build Tools)是什么?

    转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...

  6. 牛的障碍Cow Steeplechase

    题目描述 Farmer John has a brilliant idea for the next great spectator sport: Cow Steeplechase! As every ...

  7. MSER(Maximally Stable Extremal Regions)算法总结

    ER与ER Tree形成过程 判断ER是否位MSER条件 MSER源码分析

  8. 2017 湘潭邀请赛&JSCPC G&J

    训练的时候对G想了一个假算法..也有很大可能是写错了.. 下来一看别人的G 看起来很奇妙.. 开始把所有的左括号翻成右括号,然后cost*=-1 这样在优先队列中就是最优的 然后for每一段 如果前缀 ...

  9. scala学习手记28 - Execute Around模式

    我们访问资源需要关注对资源的锁定.对资源的申请和释放,还有考虑可能遇到的各种异常.这些事项本身与代码的逻辑操作无关,但我们不能遗漏.也就是说进入方法时获取资源,退出方法时释放资源.这种处理就进入了Ex ...

  10. Div层弹出

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...