関数内の JSON を更新する方法はわかりましたか? (API、角度)

okwaves2024-01-25  10

次のような JSON があります:

.json
"type": [ {
      "id": 2,
      "secondid": "1",
      "name": "f",
      "positionX": 0,
      "positionY": 0
}]

および次のサービス:

public updateposition(Model: typemodel): Observable<any> {
      return this.http.post(this.apiEndPoint + '/type' + '/' + typemodel.id , typemodel);
   }

および次の TS:

.ts
 x: number;
 y: number;

updateposition()
{

}

したがって、目標は、json オブジェクト「type」を更新することです。 HTMLのボタンをクリックすることで。 html部分は問題ありません。しかし、tsで宣言された2つの新しい位置xとyでjsonオブジェクトを更新する方法がわかりません。 updateposition()関数内で処理を行いたいと考えています。何か提案はありますか:)?

型が配列であるのはなぜですか?操作および更新する必要があるオブジェクトは type[0] のようです。配列型ではありません。 1 つの結果を含む JSON クエリが返され、最初の結果が取り出されなかったようです (常に 1 つの結果を返す一意のクエリであると仮定します)。

– ロビン・デ・シェッパー

2020 年 9 月 3 日 20:04



------------------------

コンポーネント内のサービスへの参照を取得するには、依存関係の挿入を使用し、それを使用して JSON オブジェクトを取得して保存する必要があります。次に、ボタンがクリックされたときに JS の他のオブジェクトと同様に更新し、API 呼び出しを行います。必ず結果をサブスクライブしてください。そうしないと、API 呼び出しが完了しません。


// ...
export class MyComponent {
  public jsonObject: TypeModel = { ...  };
  public constructor(private service: Service) { }

  // ...

  public function updateposition() {
    this.jsonObject[0].positionX = 52;
    this.jsonObject[0].positionY = 42;
    this.jsonObject = this.service.updateposition(this.jsonObject).subscribe(
      result => {
        console.log("The API call returned", result);
      }
    );
  }
}

1

質問の文脈全体を完全に理解できなかったので、モデルに入力するデータがすでにあると思いましたか? jsonObject は、TypeModel 型の説明に従っている限り、何でも構いません (質問では、Model と typemodel を反転しているようです。そのため、何が何なのか混乱しています:)

– ロビン・デ・シェッパー

2020 年 9 月 4 日 10:16

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。