Javascript对象表示法与JSON对象[重复]

Posted

技术标签:

【中文标题】Javascript对象表示法与JSON对象[重复]【英文标题】:Javascript Object Notation Vs JSON Object [duplicate] 【发布时间】:2016-09-02 08:26:43 【问题描述】:

我在阅读有关 javascript 的内容时遇到了 javascript 对象表示法,我非常着迷。

例如,

var myObject = 
    name: "Peter Foti",
    'course': 'JavaScript',
    grade: 'A', 
    level: 3
;

为什么我不能使用 JSON 对象而不是使用对象?我们什么时候应该使用 Javascript 对象而不是发送 JSON 对象?

这里有点混乱。

【问题讨论】:

您的问题没有多大意义:JSON 是一种序列化标准(与语言无关),而 JS 对象表示法正是您在 JS 中定义对象的方式。它们是不同的东西。 JSON 是一种数据交换格式,在语法上等同于 JavaScript 语言的对象表示法。使用上面的语句,您可以创建一个名为 myObject 的对象,用于正在运行的程序中。如果您将对象的定义,即括号 ... 之间的部分(包括括号 ... )放入文件中,或者将其作为消息通过网络传输,则已知为JSON 格式。 JSON 是一个字符串 JSON 永远不应该被称为“JSON”,因为从那时起它就一直在与 JS code 混淆。 (不知道还能叫什么——“SOS”代表“简单对象序列化”?) 你应该阅读:There's no such thing as a "JSON Object". 【参考方案1】:

您应该使用 JSON(如 XML 或其他结构化语言)以便向其他语言/系统提供信息,而 Javascript 对象是 var 类型,存在于 javascript 环境中,因此无法共享。

【讨论】:

以上是关于Javascript对象表示法与JSON对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JSON基础

克隆一个 JavaScript 对象? [复制]

Ajax加载json与序列化

javascript对象表示法

JSON.parse与JSON.stringify

将javascript对象转换为json对象[重复]