服务器返回到客户端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. LeetCode 53. Maximum Subarray 最大连续字段和问题

    考察:最大连续字段和问题. 解决问题时间复杂度:O(n) 问题隐含条件:如果给出的数集都是负数,那么最大连续字段和就是,最大的那个负数. eg:{-2,-1}  结果应该输出 -1 而不是 0 int ...

  2. VS2012安装完成之后,用自带的Blend无法创建WPF项目,打开WPF项目无法设计

    Visual Studio 2012安装完成之后, 打开自带的Blend for Visual Studio 无法创建新的WPF或者Silverlight项.打开WPF项目无法编辑的原因: 1.VS自 ...

  3. 用OpenCV实现Photoshop算法(三): 曲线调整

    http://blog.csdn.net/c80486/article/details/52499919 系列文章: 用OpenCV实现Photoshop算法(一): 图像旋转 用OpenCV实现Ph ...

  4. 【笔记】css3实现网页平滑过渡效果...

    参考:http://www.imooc.com/video/7142 未完. <!DOCTYPE html> <html> <head> <meta char ...

  5. java 标识符

    java 所有的组成部分都需要名字.类名.变量名以及方法名都被称为标识符. java 标识符 1.所有的标识符都应该以字母(A-Z或者a-z),特殊符号(美元符$).或者下划线(_)开始 2.首字母之 ...

  6. 王译潇20162314 实验报告三plus结对编程四则运算第一阶段

    北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162314 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年5月12号 实验密级: 非 ...

  7. 当root用户无密码,非超级权限用户时提示mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this op解决方案

    问题: 在centOS上安装了mysql后,卸载了又重新安装,使用mysqladmin -u root password 'new password' 更改密码,提示: mysqladmin: Can ...

  8. CommStringLib

    #include "syswatcher/CommStringLib.h" //#include "String16.h" #undef LOG_TAG #de ...

  9. 深入Jetty源码之Servlet框架及实现(Servlet、Filter、Registration)

    概述 Servlet是Server Applet的缩写,即在服务器端运行的小程序,而Servlet框架则是对HTTP服务器(Servlet Container)和用户小程序中间层的标准化和抽象.这一层 ...

  10. SQL优化器执行过程之逻辑算子

    我们提到了两种SQL优化器,分别是RBO和CBO.那么无论是RBO,还是CBO都包含了一系列优化规则,这些优化规则可以对关系表达式进行等价转换,从而寻找最优的执行计划. 那么常见的优化规则就包括: 列 ...