【问题标题】:JSON or object when pass the data to scope将数据传递到范围时的 JSON 或对象
【发布时间】:2017-07-07 04:08:09
【问题描述】:

我使用“邮递员”从 API 获取数据,它返回 JSON 格式。为什么我可以 JSON 或对象范围? JSON 和对象格式都有效。 JSON 和对象之间的区别(据我的理解)是,JSON 的键有双引号(对于这个例子,“答案”有双引号),但对象没有键的双引号。

这是从 API 返回的数据:

 [
        {
            "answers": [
                {
                    "answer": "Yes",
                    "count": 0,
                    "id": 1,
                    "question_id": 1
                },
                {
                    "answer": "No",
                    "count": 0,
                    "id": 2,
                    "question_id": 1
                }
            ],
            "id": 1,
            "question": "Is this hard?"
        },
   ...
]

Here 是传递给作用域的数据。您可以看到,JSON(“答案”)和对象(答案)格式都在工作。

更新:我想知道为什么 API 返回 JSON 数据格式,但我们可以将 JSON 或对象传递给范围?我们应该选择哪个,JSON 还是对象?

【问题讨论】:

  • 所以!有什么问题?
  • "JSON 和 object 的区别...JSON 的 key 有双引号...但是 object 的 key 没有双引号。" - 不。 不同之处在于 JSON 是用于数据传输的 string 格式(是的,确实有双引号键,但这不是重点),而 JS 对象literal 是 JS 源代码的一部分,可以有或没有程序员认为合适的双引号键。
  • @Sajeetharan 我更新了我的问题。
  • 致所有对我的帖子投反对票的人:我可以知道原因吗?我使用代码询问传递数据时使用哪种日期格式。

标签: javascript angularjs json


【解决方案1】:

也许你对 Javascript 中的 JSON 和 Objects 是什么感到有些困惑

JSON

JSON 格式仅用于结构化发送数据,只能包含 String、Bool、Number、Array 和另一个 JSON(嵌套 JSON)

对象

在 javascript 中对象与 JSON 相同但有很大不同,您可以在其中执行代码 Javascript,因此您可以这样做:

var object = {
 "hola": function(){
   console.log("This will work because this object can exec JS code")
 },
 age: 26,
 admin: false
}

【讨论】:

  • “也许你对什么是 Javascript 中的 JSON 和对象有点困惑”。是的。我不确定它们确实有什么不同,所以让我混淆何时使用哪个
  • 别担心,当您需要将信息发送到另一个服务器时,您必须使用 JSON,因为创建 JSON 是为了以一种结构良好的方式共享信息,另一方面您有对象JS,你几乎可以用它来做任何事情,当你写 JS 代码的时候,你可以给它添加函数,然后在后面执行那个函数,所以你应该知道 JSON 只用于发送信息,而 JS 中的文字对象是用于与 JSON 相同,但您也可以在其中附加功能
  • "当您需要将信息发送到另一台服务器时,您必须使用 JSON" 另一台服务器是什么意思?我认为我们只有一个服务器作为服务器端,一个客户端?
  • 是的,您有服务器端和客户端,例如:您可以将信息发送到托管在服务器端的 API,因此通常可以从客户端到服务器端进行 ajax 调用信息以 JSON 模式发送,您可以将相同的信息从服务器发送到另一个 API(其他服务器),关键是如果您要发送一些信息,您应该使用 JSON,因为它更易于处理和阅读它。
【解决方案2】:

JSON 是 JavaScript 对象的字符串表示标准(JavaScript Object Notation)。因此,它们可能在逻辑上表示相同的信息,但根本不同。您无需选择,您必须发送 JSON(假设我们在谈论 HTTP 级别)。

对象在概念上只能存在于内存空间中,并且可以拥有一些无法轻易序列化为文本内容且没有相应 JSON 表示形式的信息(引用、字节、 ...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多