2017-05-16 4 views
1

とJSONオブジェクトのプロパティ値を呼び出します。 「ファイル・サイズ情報」にJSONデータを付加機能が動作します。私は私の第二の文が間違って何をしているのですか? 問題は、私は、オブジェクトのプロパティ値を呼び出し、divの「ファイル・パス・インフォ」にそれを追加しようとしているjQueryとJavascriptの

私のJSONデータ:

{"maxFileSize" : "10 MB", "fileList" : [{"fileName" : "1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat", "href" : "../Images/1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat.jpg"}]} 

HTMLとJavaScript

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<div id="file-size-info"></div> 
<div id="file-path-info"></div> 

<script> 

    $.getJSON('http://localhost/MISREST/helpdocs', function (data) { 
    $.each(JSON.parse(data), function (key, val) { 
    if (key == "maxFileSize") {$("#file-size-info").append(val);}; 

     if (key == "fileList") {$("#file-path-info").append(["fileList"]["href"]);}; 

    }); 
    }); 

</script> 
+2

'[「のfileList」 ] ["href"] '? – Santi

答えて

2

それは、あなたがする必要がない場合は、あなただけfileListで一つの値を持っていると仮定し

if (key == "fileList") { 
    $("#file-path-info").append(val[0]["href"]); 
}; 

する必要があります値をループします。

fileListキー用として、valはあなた

[ 
    { 
    "fileName": "1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat", 
    "href": "../Images/1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat.jpg" 
    } 
] 

を与え、その後、最初のオブジェクトからのhrefを抽出する必要があります。コードmaxFileSizeのそのブロック内

+0

注:これはOPは 'fileList'配列の最初の要素だけを表示したいと仮定しています。そして、ファイルのリスト全体ではありません。彼は配列値の上にマッピングされなければならない第2のケースで – shotor

+0

、私はOPが更新され、質問に戻ってきた場合の答えを更新します –

1
if (key == "maxFileSize") {$("#file-size-info").append(val);}; 

はキーであり、valはそのプロパティ(文字列10 MB)の値です。

fileListがキーの場合、valはそのプロパティの値:[{"fileName" : "1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat", "href" : "../Images/1_Exterior Cabinet_Cabinet C_Economizer_Econ_Exhaust_Gas Heat.jpg"}](オブジェクトの1つの項目を含む配列)です。

あなたが配列のインデックス0(のみ項目)でアイテムを取得し、それを使用するためには、そのオブジェクトのhrefプロパティの値を取得するためにインデックスする必要があります:

if (key == "fileList") {$("#file-path-info").append(val[0].href);}; 
関連する問題