2016-06-01 15 views
-7

私はHTTPリクエストで渡したStringを持っています。しかし、私はそれの価値を得ることができません。文字列は次のようになります。(JSON)Stringから値を取得

var a = {"health":"img/biking_cropped.jpg","budget":"img/hip_cropped.jpg","culture":"img/old_museum_cropped.jpg"} 

しかし、私は健康の価値を得ることができません。例えば、a.healthは未定義です。しかし、[0]は{戻るだけです。 JSON.parseを使用すると、実行中のサーバーがクラッシュします。また、このjsfiddle

あなたが使用することができますが、S値

var a ={ 
     "health":"img/biking_cropped.jpg", 
     "budget":"img/hip_cropped.jpg", 
     "culture":"img/old_museum_cropped.jpg" 
     } 

for(var keys in a){ 
document.write('<pre>'+keys + '--'+a[keys]+'<pre>') 
} 

チェック;ここで

+0

それは私のために働いています:https://jsfiddle.net/vj1nqeu5/ –

+1

それが文字列ではなく、それが正常に動作している https://jsfiddle.net/vasi_32/8ocbbx2r/ – brk

+0

「文字列は以下の通りです」 - それは文字列ではありません。しかし、a [0]は{back}しか与えません。 - あなたが提供したコードからその結果を得ることはできません。 "JSON.parseを使用すると、実行中のサーバーがクラッシュする" - どのような方法で?報告されるエラーは何ですか? – Quentin

答えて

0

aa.healthを使用して横にオブジェクト

ですので、あなたにも、キーを取得するためにfor .inを使用することができますし、それdot(.)またはbracket []キーの値を取得するための表記法。

おそらくあなたは[キー]をしようとしています。たとえば、a['health']

0

変数を選択して値を変数に割り当てる必要があります。いずれかのドット表記を使用できます。またはブラケット表記[]

var a = {"health":"img/biking_cropped.jpg","budget":"img/hip_cropped.jpg","culture":"img/old_museum_cropped.jpg"}; 

var health = a['health']; 
var budget = a.budget; 
var culture = a.culture; 

console.log(health + "---- " + budget + " ---- " + culture) 
// img/biking_cropped.jpg---- img/hip_cropped.jpg ---- img/old_museum_cropped.jpg 

はここcodepenリンクですhttp://codepen.io/anon/pen/LZEjme

0

[0] "{" を返し全体JSONオブジェクトが文字列である場合である唯一の理由。

var a = "abc"; 
console.log(a[0]); // Prints a 
typeof a; //prints "string" 

var b = {}; 
typeof b; //prints "object" 

変数の "typeof"を確認するためにチェックしてください。それはオブジェクト対文字列でなければなりません。

関連する問題