json对象反序列化问题打字稿

时间:2019-09-26 18:28:11

标签: javascript typescript

作为我的项目的一部分,我需要将一些模型数据写入JSON对象并将其下载到文件中。 那么我需要加载该文件并将JSON反序列化为模型对象。 该部分不起作用

演示项目 https://stackblitz.com/edit/angular-wpg5gx

要进行复制,请点击导出按钮,您将下载JSON文件并尝试导入导出的文件

预期

{"name":"usa","orgAddress1":"123 broadway","orgAddress2":"2D","city":"new york","system":[{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"},{"name":"sap"}]}

实际结果:

Partner {0: "{", 1: """, 2: "n", 3: "a"…}
0: "{"
1: """
10: "s"
100: "a"
101: "p"
102: """
103: "}"
104: ","
105: "{"
106: """
107: "n"
108: "a"
109: "m"
11: "a"
110: "e"

...................

2 个答案:

答案 0 :(得分:0)

您正在解析字符串之前在字符串上调用JSON.stringify()。如果您删除JSON.stringify()通话,它将按预期运行。

let object = JSON.parse(fileReader.result as string);

答案 1 :(得分:0)

将您的转化更新为以下内容

let json = fileReader.result.toString();
let obj = JSON.parse(json);
var convert = Object.assign(new Partner(), obj);

这应该可以为您提供所需的东西。