如何将带有括号命名的属性的 JSON 字符串转换为 Typescript

How to convert JSON string with attribute named with parenthesis to Typescript

我正在处理一个 Angular 项目。从 REST 网络服务中,我收到了以下 JSON 数据:

{
  records: [{
    Contributor(Insertion): ["rec7wILrxxqg3R5MD"],
    Country(Artist): ["E"],
    ID: 70,
    Museum: ["recFUvc63FW00oxvO"],
    Name: ["Francisco "],
    Notes: "1821-1823",
    Pictures: [{id: "attEfUG32VAK2GYSt"}],
    RecordID: "rec17E0Nisx3oRhhF",
    Title: "Saturno che divora i suoi figli",
    Year: 1823,
    id: "rec17E0Nisx3oRhhF"}
]}

如您所见,有一个 Contributor(Insertion)Country(Artist) 字段。如何解析它并转换为 Typescript 属性?提前谢谢你。

首先你的服务器需要给你发送一个有效的JSON,JSON不只是宽容JavaScript对象

JSON 键必须是包含在两个引号中的字符串

export interface IMyInterface{
  "records": [{
    "key()": ["rec7wILrxxqg3R5MD"],
    "key2": ["E"],
    "key3": 70,
    "key4": ["recFUvc63FW00oxvO"],
    "key5": ["Francisco "],
    "key6": "1821-1823",
    "key7": [{"id": "attEfUG32VAK2GYSt"}],
    "key8": "rec17E0Nisx3oRhhF",
    "key9": "Saturno che divora i suoi figli",
    "key10": 1823,
    "key11": "rec17E0Nisx3oRhhF"}
]}

查看更多如何使商品有效JSON

然后您需要将功能键处理为 class 和用于键入的构造函数。

专业提示: 自动创建 ts 接口:http://json2ts.com/