تایپاسکریپت - انگولار ۲ تجزیه اشیاء JSON به کلاسهای انگولار


من مستندات شروع به کار Angular2 را دنبال کردهام تا برنامه خودم را راهاندازی کنم، و در بازیابی اشیاء JSON از یک فایل محلی و نمایش آنها در قالبهای Angular2 موفق بودهام. با این حال، در حال حاضر این موضوع وابسته به این است که کلاسهای Angular دقیقاً با ساختار اشیاء موجود در فایل JSON من مطابقت داشته باشند.

در نهایت نیاز دارم که برنامه من با JSON-LD کار کند، که نام ویژگیهایی مانند "@id" دارد. کمی در گوگل جستجو کردهام و به نظر میرسد RxJS ممکن است عملکرد مورد نیاز من را داشته باشد، اما مطمئن نیستم از کجا باید شروع کنم تا اتصال خودکار از دادههای JSON مستقیماً به کلاسهای angular2 من را متوقف کنم و به جای آن بتوانم چیزی که در json با برچسب "@id" مشخص شده است را پیدا کرده و مقدار SomeClass.id را تنظیم کنم.

کد فعلی که به صورت خودکار یک آرایه از کلاس Person تولید میکند:

getPeople(){
    return this._http.get(this._peopleUrl)
        .map(response => <Person[]> response.json().data)
        .do(data => console.log(data)) //debug to console
        .catch(this.handleError);
} 

خوب برای JSON مانند این:

[
 {
  "id":"1",
  "name":"tessa"
 },
 {
  "id":"2",
  "name":"jacob"
 }
]

اما واضح است که برای JSON هایی مانند این شکست خواهد خورد:

[
 {
  "@id":"1",
  "name":"tessa"
 },
 {
  "@id":"2",
  "name":"jacob"
 }
]

کلاس من ساده است (در حال حاضر :-) )

export class Person {
  constructor(
    public id:number,
    public name:string,
  ){}
}

آیا کسی میتواند من را به سمت مستندات/نمونههایی برای نگاشت JSON پیچیده/سخت به کلاسها در Angular2 راهنمایی کند؟

پاسخ شماره ۱

من پاسخ را در گزینه ۴ پاسخی که اینجا داده شده پیدا کردم: چگونه یک شیء تایپاسکریپت را با یک شیء JSON مقداردهی اولیه کنم

امیدوارم این کمک کند اگر کسی به این صفحه بیاید و دنبال همان چیز باشد!