まず、あなたの Javascript コードが無効です。
var Salary = {
"2012_08":"5555",
"2012_09":"6666",
"2012_10":"7777"
}
var augsalary = salary.2012_08;
次に、非常によくある混乱は、JSON オブジェクトについて話すことです。Salary
は JSON オブジェクトではなく、JavaScript オブジェクトです。JSON は、すべての JavaScript オブジェクトの大部分を文字列として表現するための表記法です。これらの文字列は、コードの他の部分または他のコンピューターに送信され、そこで処理のためにオブジェクトに変換されます。したがって、質問でSalary
は、受信した JSON 文字列から変換されたデータになります。
JS には配列とオブジェクトがあります。
オブジェクトは最も基本的なもので、任意の文字列の名前を持つプロパティを持つことができます。オブジェクト プロパティへのアクセスには、ブレースとドット表記の 2 つの形式が用意されています。中かっこ表記は普遍的です。プロパティ名の値を、オブジェクト名の後の中かっこ内の文字列または変数値として指定します。ドット表記は省略形であり、プロパティの名前が有効な JS 変数名の形式である場合にのみ使用できます。
配列は、数値プロパティ名の順序付きリストを維持する追加機能を持つ基本的なオブジェクトです。非数値のプロパティ名を配列に追加できますが、それらは配列関数には参加しません。
したがって、あなたの例では、「_」文字が含まれているため、数値キーまたはプロパティ名はありません。これらは数字で始まるため、ドット表記を使用できず、以下のdystroyで説明されているように、ブレース表記を使用してアクセスする必要があります。
私の小さなレッスンが、基本をよりよく理解するのに役立つことを願っています.