gpt4 book ai didi

jquery - 需要将json键值对转换为标准数组

转载 作者:行者123 更新时间:2023-12-01 00:58:10 25 4
gpt4 key购买 nike

我正在使用 jquery 的 parseJSON() 函数将 json 字符串解释为变量。问题是,它将我的数据变成一个对象而不是二维数组。例如,

myData = $.parse(JSON(data));
myData.name// = "Bob"

问题是,“name”不应该是(假设这是正确的术语)。相反,它应该是:

myData[0] // = "name"
myData[1] // = "Bob"

我该如何转换它?或者是否有一种不同于使用 for 循环遍历数组索引的方法(但仍然能够以字符串形式访问键和值,就像在二维数组中一样)。

编辑:这是一些正在使用的 json(注意它更长)。这就是“数据”的内容

{"feat_3":"4356","feat_4":"45","feat_5":"564","feat_6":"7566"}

最佳答案

反序列化数据后(例如,您有 myData,它是一个对象),您可以使用 for..in 循环遍历其键。 ,然后构建一个组合键和值的数组:

var myData, dataArray, key;
myData = $.parse(JSON(data));
dataArray = [];
for (key in myData) {
dataArray.push(key); // Push the key on the array
dataArray.push(myData[key]); // Push the key's value on the array
}

由于myData是反序列化data中JSON的结果,我们知道myData是一个通用对象(例如,只是一个{} 而不是 new Foo 或类似的东西),所以我们甚至不需要 hasOwnProperty。如果我们不知道这一点,并且只想枚举 myData自己键和值,我们会添加 hasOwnProperty检查:

var myData, dataArray, key;
myData = $.parse(JSON(data));
dataArray = [];
for (key in myData) {
if (myData.hasOwnProperty(key)) {
dataArray.push(key); // Push the key on the array
dataArray.push(myData[key]); // Push the key's value on the array
}
}

在你的情况下没有理由这样做,除非有人一直在搞Object.prototype(在这种情况下,把他们带到木棚后面,给他们一个严格的隐藏,然后让他们写道“我不会在黑板上对 Object.prototype 进行数百遍的修改),但是每当你使用 for..in 时,停下来思考总是好的是否 A) 保证该对象是普通的,以及 B) 如果不是,您只想要它自己的属性,还是还想要它继承的属性?

关于jquery - 需要将json键值对转换为标准数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com