JSが情報を取得するために使用できるように、値がサーバーによってデータ属性を介して渡されるAPIを作成しています... My JSはAJAX呼び出し、JSONオブジェクトが返されます...JavaScript:文字列を変換し、それを連結してオブジェクトプロパティリファレンスを動的に作成する
ブランドを得るために{
"data": {
"results": {
"type": [
{
"cars" : {
"brands": {
"ford" : {},
"honda" : {}
}
}
}
]
}
}
}
、私はちょうど
let brand = data.result.type[0].cars.brands.ford
私は私が必要とする結果を得ることができるこの方法を入力し、私はこれを構築する必要があります経路の2つの部分を結合することによって、経路を動的に決定する。私が質問の冒頭で言ったように、いくつかの情報はデータ属性を介して渡され、情報はtype[0].cars.brands.ford
...私はdata.result
に私のコードで参加する必要があります。私は現在、とても
entry.querySelectorAll('[data-brand]').forEach((e) =>
let brand = eval('data.result.' + e.dataset.brand);
)
のように、eval()
を使用することによって、所望の結果を得ることができることだ私はあなたの多くがeval()
を使用することが悪いですし、私はそれを非常に意識だと言うだろうけど、私はできませんでしたこれを実現させるための良い方法を見つけてください。別の問題があります。ブランドの場合、nissan
はJSONにありません。エラーが発生します。TypeError: Cannot read property 'nissan' of undefined
...プロパティが存在するかどうかを確認することで回避できますコードを継続していますが、eval()
が含まれている場合、この種のテストを行う方法はわかりません。
だから... ...基本的に、私は必要なもの、動的にプロパティが存在するかどうかを確認するために試験することができるプロパティパスを構築するためのより良い方法です...事前に
おかげで...
あなたは[「PROPERTY_NAME」] – Danmoreng
をdata.result使用することができます答えをありがとう、しかし私はすでにそれを試み、動作しませんでした... –
正確に何が動作しないのですか? – Danmoreng