首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JSON -为什么序列化和发送数据?

JSON -为什么序列化和发送数据?
EN

Stack Overflow用户
提问于 2014-12-30 05:39:01
回答 3查看 2.1K关注 0票数 0

JSON数据有两种形式,对象形式和字符串形式。它说JSON用于序列化数据并通过网络发送数据。序列化意味着将数据串行化并发送出去。我的问题是-是否需要将数据串行化并只发送它?为什么不发送JSON对象,这是不可能的吗?字符串注册和发送有什么优势吗?

EN

回答 3

Stack Overflow用户

发布于 2014-12-30 05:42:19

序列化没有什么“优势”,它是必需的。您不能通过网络发送对象。它们需要转换为字节序列,并在另一端重新构建。

为什么不发送

对象,这是不可能的吗?

不,不是的。事实上,根本就没有"JSON对象“这回事。JSON是数据的文本表示形式。内存中的对象不是JSON,即使它是在源代码中声明的,使用的字符与编写JSON时使用的字符相同,或者是作为JSON文档启动的。

JSON是文本。字符串'{ "x" : "y" }'为JSON。一旦您的浏览器对其进行了评估,它就不是JSON,而是一个JavaScript对象。

票数 5
EN

Stack Overflow用户

发布于 2014-12-30 05:43:18

网络上的“JSON对象”是什么样子的?我等..。

答案是“对象”之类的是复杂的数据结构,它们驻留在计算机的内存中,通常只有当它们处于这种状态时才有意义。如果您想要将它们从内存中取出并存储在磁盘上,或者通过网络发送它们,您需要将它们放入指定的格式,以便在另一端可以再次读取。这就是序列化的含义。JSON是一种可能的序列化格式,它可以表示有点复杂的数据结构,包括数组和对象。还有用于许多不同目的的其他这样的格式,从XML到特定于特定语言或环境的二进制转储。

票数 2
EN

Stack Overflow用户

发布于 2014-12-30 06:17:44

让socket.io试一试..

我喜欢它..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 /// Server     socket.send("myMSG", {key1:"HelloWorld"});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/// Client  
socket.on("myMSG", function(data){
    console.log(data.key1);
});

// stringify
JSON.stringify({key1: "HelloWorld"})

诚挚的问候

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27700128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文