【发布时间】:2020-11-05 03:44:20
【问题描述】:
我想在 JavaScript 中使用 JSON 对象作为键 -> 值数组,但我不明白为什么它没有以我想要的方式返回我的对象:
我尝试了以下方法:
var obj = JSON.stringify(result);
var result = Object.keys(obj).map(function (key) {
// Using Number() to convert key to number type
// Using obj[key] to retrieve key value
return [Number(key), obj[key]];
});
for(var i = 0; i < result.length; i++) {
for(var z = 0; z < result[i].length; z++) {
console.log(result[i][z]);
}
}
但我在 console.log 中得到以下行
writeback.js:159 0
writeback.js:159 "
writeback.js:159 1
writeback.js:159 {
writeback.js:159 2
writeback.js:159 \
writeback.js:159 3
writeback.js:159 "
writeback.js:159 4
writeback.js:159 r
writeback.js:159 5
writeback.js:159 o
writeback.js:159 6
writeback.js:159 w
writeback.js:159 7
writeback.js:159 n
writeback.js:159 8
writeback.js:159 u
writeback.js:159 9
writeback.js:159 m
writeback.js:159 10
writeback.js:159 b
writeback.js:159 11
writeback.js:159 e
writeback.js:159 12
writeback.js:159 r
writeback.js:159 13
writeback.js:159 \
writeback.js:159 14
writeback.js:159 "
writeback.js:159 15
writeback.js:159 :
writeback.js:159 16
writeback.js:159 1
writeback.js:159 17
writeback.js:159 ,
writeback.js:159 18
writeback.js:159 \
writeback.js:159 19
writeback.js:159 "
writeback.js:159 20
writeback.js:159 I
writeback.js:159 21
writeback.js:159 D
writeback.js:159 22
writeback.js:159 \
writeback.js:159 23
writeback.js:159 "
writeback.js:159 24
writeback.js:159 :
writeback.js:159 25
writeback.js:159 1
writeback.js:159 26
writeback.js:159 }
writeback.js:159 27
writeback.js:159 {
writeback.js:159 28
writeback.js:159 \
writeback.js:159 29
writeback.js:159 "
writeback.js:159 30
writeback.js:159 r
writeback.js:159 31
writeback.js:159 o
writeback.js:159 32
writeback.js:159 w
writeback.js:159 33
writeback.js:159 n
writeback.js:159 34
writeback.js:159 u
writeback.js:159 35
writeback.js:159 m
writeback.js:159 36
writeback.js:159 b
writeback.js:159 37
writeback.js:159 e
writeback.js:159 38
writeback.js:159 r
writeback.js:159 39
writeback.js:159 \
writeback.js:159 40
writeback.js:159 "
writeback.js:159 41
writeback.js:159 :
writeback.js:159 42
writeback.js:159 2
writeback.js:159 43
writeback.js:159 ,
writeback.js:159 44
writeback.js:159 \
writeback.js:159 45
writeback.js:159 "
writeback.js:159 46
writeback.js:159 I
writeback.js:159 47
writeback.js:159 D
writeback.js:159 48
writeback.js:159 \
writeback.js:159 49
writeback.js:159 "
writeback.js:159 50
writeback.js:159 :
writeback.js:159 51
writeback.js:159 2
writeback.js:159 52
writeback.js:159 }
writeback.js:159 53
writeback.js:159 "
似乎 JSON 对象中的每个字符都获得了一个键,但键和值在对象本身中。
UPDATE:变量result的值是
{"rownumber":1,"ID":1}{"rownumber":2,"ID":2}
有人可以帮我解决这个问题吗?
【问题讨论】:
-
JSON.stringify()创建一个字符串,而不是一个对象。 -
如果已有对象,直接处理即可,不需要转成JSON。
-
也发布您的输入对象
-
@KunalMukherjee 我编辑了原始帖子并发布了输入对象。
-
有没有一种方法可以将结果的值编辑为数组中的两个正确格式的 json 对象,或者将结果组合成一个 json 对象?就目前而言,您首先需要将该字符串解析为两个对象,然后再尝试将其作为常规 json 对象进行操作。
标签: javascript jquery node.js arrays json