当前位置: 首页 > 面试题库 >

JavaScript关联数组到JSON

穆建元
2023-03-14
问题内容

如何将JavaScript关联数组转换为JSON?

我尝试了以下方法:

var AssocArray = new Array();

AssocArray["a"] = "The letter A"

console.log("a = " + AssocArray["a"]);

// result: "a = The letter A"

JSON.stringify(AssocArray);

// result: "[]"

问题答案:

数组应仅包含带有数字键的条目(数组也是对象,但您实际上不应混用)。

如果将数组转换为JSON,则该过程将仅考虑数值属性。其他属性只是被忽略,这就是为什么您得到一个空数组的原因。如果您看一下length数组的,也许这更加明显:

> AssocArray.length
0

通常被称为“关联数组”的实际上只是JS中的一个对象:

var AssocArray = {};  // <- initialize an object, not an array
AssocArray["a"] = "The letter A"

console.log("a = " + AssocArray["a"]); // "a = The letter A"
JSON.stringify(AssocArray); // "{"a":"The letter A"}"

可以通过数组符号或点符号(如果键不是保留关键字)访问对象的属性。因此AssocArray.a与相同AssocArray['a']



 类似资料:
  • 问题内容: 我已经看到了许多有关如何获取CSV文件然后创建带有标题作为键的关联数组的示例。 例如: 它会创建一个Array,如 这里将是品牌,型号,部件,测试。 因此,如果我想访问测试值“ 434”,则必须循环数组中的每个索引,然后忽略所有非本田品牌和任何非思域车型 我需要做的是最直接地访问值,而不是通过遍历每个$ num索引的for循环来运行。我希望能够通过以下方式访问值测试“ 434”: 或通

  • 问题内容: 有以下查询结果:(key1和key2可以是任何文本) 我希望将数据存储在网格(可能是数组)中,像这样 循环 所有记录: 在PHP中,使用关联数组非常容易: 但是在JavaScript这样的关联数组中不起作用。阅读大量教程之后,我所能得到的就是: 但不起作用。我尝试了对象数组,但是对象属性不能是自由文本。我阅读教程的时间越长,我就越困惑。 任何想法都欢迎:) 问题答案: 只需使用常规的J

  • SystemTap支持关联数组。关联数组就像其它编程语言中的map/dict/hash,你可以把它看作由互不相同的键所组成的数组,每个键都有一个关联的值。 关联数组需要定义为全局变量。访问关联数组的值的语法跟awk类似,就是array_name[index_expression]。 这里的array_name指关联数组的名字,index_expression指数组中某个唯一的键。比如在下面的例子中

  • 问题内容: 在我的脚本中,有必要创建一个哈希表,我在Google中搜索了此表。为此,大多数人都建议使用JavaScript对象。问题是,哈希表中的某些键具有“”。在他们中。我可以使用关联数组轻松创建这些键。 我不明白为什么关联数组不好。在我查看的站点中提到的第一件事是length属性。我来自使用散列的Perl背景。最常见的用途是从键中获取值,检查键是否存在,删除键值对,添加键值对。如果这些是我的常

  • 关联数组的索引不一定是整数,并且可以稀疏填充。 关联数组的索引称为Key ,其类型称为KeyType 。 通过将KeyType放在数组声明的[]内来声明关联数组。 关联数组的一个简单示例如下所示。 import std.stdio; void main () { int[string] e; // associative array b of ints that are