【发布时间】:2019-01-13 03:34:53
【问题描述】:
我想在 typescript 中解析数组。
我的代码如下:
interface MyObj {
val1: string
val2: string
val3: string
}
const fs = require('fs')
const file = 'test.json'
const encode = 'utf8'
const jsonString = '[{val1 : "test1", val2 : "test2", val3 : "test3"}, { val1 : "test4", val2 : "test5", val3 : "test3"}]'
fs.writeFile(file, JSON.stringify(jsonString))
fs.readFile(file, encode, (err, data) => {
const objs = JSON.parse(data) as MyObj[]
console.log(data)
console.log(objs)
for (const obj of objs) {
console.log(obj)
console.log(obj.val1)
console.log(obj.val2)
console.log(obj.val3)
}
})
那么结果如下:
"[{val1 : \"test1\", val2 : \"test2\", val3 : \"test3\"}, { val1 : \"test4\", val2 : \"test5\", val3 : \"test6\"}]"
[{val1 : "test1", val2 : "test2", val3 : "test3"}, { val1 : "test4", val2 : "test5", val3 : "test6"}]
[
undefined
undefined
undefined
{
undefined
undefined
undefined
v
undefined
undefined
undefined
a
undefined
undefined
undefined
l
undefined
undefined
undefined
1
undefined
undefined
undefined
.
.
.
好像parse成功了,但是解析后可能有语法错误却找不到。
我的环境是:
MacOS 10.12.6
NPM 5.6.0
TypeScript 2.9.1
感谢您的帮助。
【问题讨论】:
-
我认为您的 JSON 字符串有问题。你能试试这个吗? '[{"val1" : "test1",......
标签: javascript arrays json typescript parsing