JSON.stringify不适用于普通的Javascript数组
我必须在这里丢失一些内容,但是以下代码返回一个空字符串:
var test = new Array();test['a'] = 'test';
test['b'] = 'test b';
var json = JSON.stringify(test);
alert(json);
用JSON对这个数组进行编码的正确方法是什么?
回答:
JavaScript数组旨在保存带有 数字
索引的数据。您可以向它们添加命名属性,因为数组是一种对象类型(当您要存储有关包含常规,有序,数字索引数据的数组的元数据时,这很有用),但这并不是它们的设计目标对于。
JSON数组数据类型 不能 在数组上具有命名键。
当您将JavaScript数组传递给JSON.stringify
命名属性时,将被忽略。
如果要命名属性,请使用对象而不是数组。
const test = {}; // Objecttest.a = 'test';
test.b = []; // Array
test.b.push('item');
test.b.push('item2');
test.b.push('item3');
test.b.item4 = "A value"; // Ignored by JSON.stringify
const json = JSON.stringify(test);
console.log(json);
以上是 JSON.stringify不适用于普通的Javascript数组 的全部内容, 来源链接: utcz.com/qa/428421.html