我有一个看起来像这样的大json对象:
apiUrl: 'https://sandboxbackend.cloudinteractiveplatforms.com/api',
我创建了一个界面:
{
"item1": {
"key1": "val1",
"key2": "val2",
"key3": [
"val4",
"val5",
]
},
{
"item2": {
"key1": "val1",
"key2": "val2",
"key3": [
"val3",
"val4",
]
}
... etc ...
}
然后尝试解析json:
interface MyObj {
key1: string;
key2: string;
key3: string[];
}
但是出现错误const myObj[]: {string: Myobj[]} = JSON.parse(response);
。我已经在json验证程序中检查了SyntaxError: Unexpected token o in JSON at position 1
并通过了。
我想将response
解析为response
的数组。
答案 0 :(得分:1)
这里很少出问题,这里的类型定义未使用正确的TypeScript语法
const myObj[]: {string: Myobj[]} = JSON.parse(response);
^^^^^^^^^^^^^^^^^^^^^
This looks weird
同样,您的响应对象格式错误,key3
无效(数组和对象之间的距离为一半)。
无论如何,请尝试先定义响应的类型,然后再解析:
type MyObj = {
key1: string
// etc ...
}
type Response = {
[key: string]: MyObj
}
const data:Response = JSON.parse(response)