我想清楚地了解Javascript对象和JSON字符串之间的基本区别。
假设我创建了以下JS变量:
var testObject = {one: 1,"two":2,"three":3};
Q1。 密钥/属性名称在带/不带引号的情况下均有效吗?(例如"one" : 1
)
如果是,有什么区别?
问题2:如果我使用转换上述对象JSON.stringify(testObject)
,原始JS对象和JSON有什么区别?
我觉得他们几乎一样。请详细说明。
问题3:对于解析JSON字符串,是否建议使用以下方法?
var javascriptObj = JSON.parse(jSonString);
密钥/属性名称在带引号和不带引号的情况下均有效吗?
你需要使用对象的文字符号时放在引号的关键唯一的一次,其中关键包含特殊字符(if
,:
,-
等)。值得注意的是,JSON中的密钥 必须 用
双 引号引起来。
如果使用将上述对象转换为JSON
var jSonString = JSON.stringify(testObject);
,两者(JS obj和JSON)之间有什么区别?
JSON是一种数据交换格式。这是一个标准,它描述了如何在字符串中表示有序列表和无序列图,字符串布尔值和数字。就像XML和YAML是在语言之间传递结构化信息的一种方式一样,JSON也是如此。另一方面,JavaScript对象是物理类型。就像PHP数组,C
++类/结构一样,JavaScript对象是JavaScript内部的一种类型。
这是一个故事。假设您从商店购买了一些家具,并且希望将其交付。但是,库存中仅剩一个是展示模型,但您同意购买。
在商店中,您购买的抽屉柜是一个有生命的物品:
var chestOfDrawers = {
color: "red",
numberOfDrawers: 4
}
但是,您不能在帖子中发送抽屉式的,所以您要拆除它(阅读,分类)。现在它在家具方面毫无用处。现在是JSON。扁平包装形式。
{"color":"red","numberOfDrawers":4}
收到后,您便可以重建抽屉柜(读取,解析)。现在以对象形式返回。
JSON / XML和YAML背后的原因是使数据能够以参与语言都可以理解的格式在编程语言之间传输;您不能直接给PHP或C
您的JavaScript对象;因为每种语言在引擎盖下代表的对象都不同。但是,由于我们已将对象分为JSON表示法;即表示数据的标准化方法,我们可以将对象的JSON表示形式传输到另一种语言(C
,PHP),它们可以根据对象的JSON表示形式将我们拥有的JavaScript对象重新创建为自己的对象。
请务必注意,JSON无法代表函数或日期。如果尝试使用函数成员对对象进行字符串化,则该函数将从JSON表示中省略。日期将转换为字符串;
JSON.stringify({
foo: new Date(),
blah: function () {
alert('hello');
}
}); // returns the string "{"foo":"2011-11-28T10:21:33.939Z"}"
要解析JSON字符串,是否建议使用以下方法?
var javascriptObj = JSON.parse(jSonString);
是的,但是较旧的浏览器本身不支持JSON(即<8)。为了支持这些,您应该包括json2.js
。
如果您使用的是jQuery,则可以调用jQuery.parseJSON()
,JSON.parse()
如果受支持,它将在后台使用,否则将回退到自定义实现中以解析输入。
本文向大家介绍JavaScript中的对象与JSON,包括了JavaScript中的对象与JSON的使用技巧和注意事项,需要的朋友参考一下 简介 JSON即JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。 JSON是一种数据交换格式,像XML和YAML一样是一种在各种不同语言间传递结构化信息的方式。从另一方面来说
问题内容: 我刚刚发现了chromestatus.com,在失去了一天的时间后,发现了以下功能条目: 映射:映射对象是简单的键/值映射。 那让我感到困惑。常规JavaScript对象是字典,那么它与字典有何不同?从概念上讲,它们是相同的(根据 Map和Dictionary之间的区别是什么?) chromestatus文档参考也无济于事: 映射对象是键/值对的集合,其中键和值都可以是任意ECMASc
本文向大家介绍浅谈JavaScript对象与继承,包括了浅谈JavaScript对象与继承的使用技巧和注意事项,需要的朋友参考一下 JavaScript是我在C语言之后接触的第二门编程语言,大一暑假的时候在图书馆找了一本中国人写的JavaScript程序设计来看。那个时候在编程方面几乎还是小白,再加上那本书根本没有提JavaScript的编程机制,又有一些误导性的话,一直以来对JavaScript
我刚刚发现了这个特性: Map:Map对象是简单的键/值映射。 映射对象可以按插入顺序迭代其元素。Map对象必须使用哈希表或其他机制来实现,这些机制平均提供的访问时间与集合中的元素数成次线性关系。本地图对象规范中使用的数据结构仅用于描述地图对象所需的可观察语义。它并不打算成为一个可行的实施模式。 …对我来说仍然像是一个对象,所以很明显我错过了什么。 为什么JavaScript获得了一个(支持良好的
问题内容: 假设您有一个非常简单的数据结构: …并且您想将其中一些存储在javascript变量中。如我所见,您有三个选择: 如果您要存储(或希望可能拥有)多个“价值”部分(例如,增加他们的年龄等),显然第二或第三种选择是可行的,因此,为了论证,让我们假设在此结构中再也不需要任何数据值了。您选择哪一个,为什么? 编辑 :该示例现在显示最常见的情况:非顺序ID。 问题答案: 每个解决方案都有其用例。
主要内容:JS 创建对象,访问对象的属性,设置修改对象的属性,JS 删除对象的属性,JS 调用对象的方法JavaScript 是一种面向对象的编程语言,在 JavaScript 中几乎所有的东西都是对象。因此,要想有效的使用 JavaScript,首先需要了解对象的工作原理以及如何创建并使用对象。 我们可以将对象看作是一个属性的无序集合,每个属性都有一个名称和值(键/值对)。通过《 JS数据类型》一节我们知道,数组是值的集合,每个值都有一个数字索引(从零开始,依次递增)。对象类似与数组,不同的是