JSON对象与Javascript对象

JSON Object vs Javascript object

本问题已经有最佳答案,请猛点这里访问。

我是JS和JSON的新手,并试图了解其中的差异,我看到其他线索有这个差异,但仍然没有几个未解决的问题,

我创建了3个对象

  • 双引号中的键 - 对
  • 没有引号的键但带引号的值
  • 单引号中的键值对。
  • 问题。

  • Asis,如果所有3个对象都是Javascript对象,可以安全地假设吗?
  • 如何确定哪一个是JSON对象,当我在日志中打印对象时,所有对象看起来都相同。 有没有办法确定JSON对象?
  • 如果JSON对象 - 键值对用双引号括起来,那么单引号是什么意思?
  • 码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <html>
        <head>
           
                var jsobject = {"fname":"Bob","lname":"Mike"}
                console.log(jsobject)

                var jsobject = {fname:"Bob",lname:"Mike"}
                console.log(jsobject)

                var jsobject = {'fname':'Bob','lname':'Mike'}
                console.log(jsobject)

           
        </head>
        <body>
        </body>
    </html>


    我认为你的语法和数据令人困惑。

    任何数量的技术可以具有非常相似的语法,但是类似的语法可以用于完全不同的目的,并且用于创建极其不同的数据。

    当我们谈论JSON时,我们讨论的是具有Unicode编码的文本数据,该编码遵循用作数据传输机制的字符语法。可以将JSON数据传输到各种不同的编程环境中,进行解析,然后转换为对环境有意义的实际对象结构。

    它被命名为"JavaScript Object Notation"的原因在于它的符号主要是在JavaScript程序中用于创建对象和原始值的文字语法的子集之后形成的。遗憾的是,这种命名有助于JavaScript开发人员的混乱。

    因此,要确定您是否正在处理JSON,最重要的是要考虑的是您所做的事情是否会导致创建遵循JSON语法规则的Unicode数据。

    举个例子:

    1
    var foo = {"bar":"baz"};

    那是JSON吗?好吧,如果它在JavaScript程序中运行,它将被评估,foo将保存对某些非Unicode文本数据的内存的引用。

    当然,我们可以隔离代码的{"bar":"baz"}部分,并将其转换为自己的编码为Unicode的文本文件,但是我们真的不再处理相同的示例了。

    所以我们说我们做到了。我们打开文本编辑器,确保它已设置为Unicode编码,然后粘贴上面代码的一部分。所以现在整个文本文件都是这样的:

    1
    {"bar":"baz"}

    现在我们可以正确地说我们有JSON数据。如果我在末尾添加;怎么办?

    1
    {"bar":"baz"};

    它不再是JSON,因为它已被;破坏,这是不允许的。再说一遍,除了无效之外,我们可以将它称为JSON,但实际上它要么完全有效,要么完全无效。

    回到JavaScript示例。在JavaScript程序的语法中引用JSON是否有意义?好吧,拿我们原来的例子。如果我们可以使用一些JavaScript语法来创建Unicode数据并使其符合JSON语法,那么是的,我们可以正确地谈到在我们的程序中使用JSON。

    那么JavaScript让我们创建Unicode数据吗?是的,JavaScript中的所有字符串都是UTF-16编码的。因此,我们需要做的就是创建一个字符串。

    1
    var foo = '{"bar":"baz"}';

    现在我们不会调用整行JSON,但我们可以正确地说foo变量指的是保存JSON数据的内存。

    然后我们可以将这些数据传输到用完全不同的编程语言编写的服务器,只要它有一个JSON解析器,它就可以解析它,并将其转换为对该服务器有意义的任何对象类型。