我目前正在调查为什么 JSON.stringify() 没有正确解析我的对象。这是我试图解析为 JSON 字符串的对象:
var data = [{
name: string,
active: bool,
data: [
value: number,
date: string
]
}]
Run Code Online (Sandbox Code Playgroud)
但是,在我的对象上调用 JSON.stringify() 时,我得到的结果类似于:
/* JSON.stringify(data) */
[{
name: string,
active: bool,
data: [
[Object],
[Object],
...
]
}]
Run Code Online (Sandbox Code Playgroud)
JSON.stringify 是否有细微差别导致这种情况发生?如果它有助于澄清更多细节,我很乐意为我的问题添加更多细节。
我认为你的数据数组应该是这样的:
var data = [{
name: string,
active: bool,
data: { //Use {} instead of []
value: number,
date: string
}
}]
Run Code Online (Sandbox Code Playgroud)
小智 5
您实际上可以使用 JSON.stringify 的第二个参数。两个选项,您可以指定所有要字符串化的道具名称:
var data = [{
name: string,
active: bool,
data: [
{value: number},
{date: string}
]
}]
JSON.stringify(data, ['name', 'active', 'data', 'value', 'date'])
=> '[{
"name":"string",
"active":"bool",
"data":[
{"value":"number"},
{"date":"string"}
]}
]'
Run Code Online (Sandbox Code Playgroud)
或者使用具有相同结果的替换函数:
JSON.stringify(data, function replacer(key, value) { return value})
=> '[{
"name":"string",
"active":"bool",
"data":[
{"value":"number"},
{"date":"string"}
]}
]'
Run Code Online (Sandbox Code Playgroud)
原始来源:https : //javascript.info/json
| 归档时间: |
|
| 查看次数: |
27936 次 |
| 最近记录: |