5

オブジェクト リテラルの情報に基づいて、JSON を取得し、最初の要素を抽出する関数があります。

私の問題は次のとおりです。

function foo(string){
return data[0].string;
}

これは動作しません。正しい構文は何ですか?

完全なコードは次のとおりです。

 var plantaVariables = {
    humidity : 0,
    airTemp : 0,
    soilTemp : 0,
    soilMoisture: 0,
    light: 0
  };

  function capitaliseFirstLetter(string){
    return string.charAt(0).toUpperCase() + string.slice(1);
  }

  for (var i in plantaVariables) {
    $.ajax({
      url: "http://xxx/"+i.toLowerCase(),
      dataType:"json",
      async: false,
      success: function(data){
        var string = capitaliseFirstLetter(i);
        plantaVariables[i] = parseInt(data[0].capitaliseFirstLetter(i));
      }
      });
  };

私が得るJSONは次のようになります:

[{"PlantId":"1","DateTime":"2012-11-01 13:56:23","Humidity":"37.4"}]

(より多くのオブジェクトで)。plantaVariables の他の要素についても同様です

これは初心者の質問であることは認識していますが、私は JavaScript を初めて使用し、一日中画面に頭をぶつけていました。どんな助けでも大歓迎です!

4

2 に答える 2

6

式でオブジェクト属性を検索するには、添字表記を使用する必要があります。

plantaVariables[i] = parseInt(data[0][capitaliseFirstLetter(i)]);
于 2012-11-01T20:47:22.620 に答える
1

[]オブジェクトは、配列と同様にを使用して参照できることを覚えておいてください。

var string = capitaliseFirstLetter(i);
plantaVariables[i] = parseInt(data[0][string]);
于 2012-11-01T20:47:39.467 に答える