Как преобразовать строку JSON с атрибутом, названным в скобках, в Typescript - PullRequest
0 голосов
/ 10 ноября 2018

Я работаю с угловым проектом. Из веб-службы 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? Заранее спасибо.

1 Ответ

0 голосов
/ 10 ноября 2018

Сначала ваш сервер должен отправить вам действительный 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

Тогда Вам нужно обработать функциональные клавиши как класс и конструктор для набора текста.

Pro-tip: автоматизируйте создание интерфейса ts: http://json2ts.com/

...