将数据传递给作用域时的JSON或对象

时间:2017-07-07 04:08:10

标签: javascript angularjs json

我使用'Postman'从API获取数据,它返回JSON格式。为什么我可以使用JSON或对象范围? JSON和对象格式都有效。 JSON和对象(根据我的理解)之间的区别在于,JSON具有密钥的双引号(对于此示例,“answers”具有双引号),但对象没有密钥的双引号。

以下是从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还是对象?

2 个答案:

答案 0 :(得分:0)

JSON 是JavaScript对象的字符串表示标准( J avaScript O bject N \ totation)。因此,它们可能在逻辑上代表相同的信息,但根本不同。您不需要选择,您必须发送JSON(假设我们正在谈论HTTP级别)。

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

答案 1 :(得分:0)

也许你对Javascript和Javascript中的对象有点困惑

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
}