我想解析一个字符串,并将projectName
和poNumber
保存到两个变量中。到目前为止,我已经使用了JSON.parse()
employees = []
JSON.parse(data).array.forEach(element => {
this.employees.push({
projectName: element.projectName,
poNumber: element.poNumber
})
});
console.log(employees['projectName'])
console.log(employees['poNumber'])
其中,data
具有以下格式:
{"id":1,"name": "john doe", "project":"[object Object]"}
project
看起来像:
"project": [
{
"projectName": "proj1",
"poNumber": "1"
}
]
但我知道这个错误
错误SyntaxError:位置1处JSON中的意外令牌o
我哪里错了?谢谢您抽时间见我!
编辑:我理解为什么会出现这个错误,因为我的数据已经是一个对象了,没有必要使用JSON.parse()
,但是我的代码仍然无法工作,因为我得到了错误:
core.js:1671 ERROR TypeError:无法读取未定义的属性“forEach”
发布于 2018-09-17 12:48:43
Json字符串是无效的,它不是由JSON.stringify()串成的,而是由toString方法串成的,否则嵌套的对象就会被正确地串成字符串。
发布于 2018-09-18 11:36:11
问题是我没有解析正确的东西。以下是正确的片段:
let p = JSON.parse(data.project);
this.employees.push({
projectName: p.projectName,
poNumber: p.poNumber
})
谢谢大家的帮助!你的回答都是对的。
发布于 2018-09-17 12:53:43
就像这样:
JSON.parse(data).array.forEach(element => {
this.employees.push({
projectName: element.project.projectName,
poNumber: element.project.poNumber
})
})
https://stackoverflow.com/questions/52368050
复制相似问题