2016-05-16 1 views
0

APIサービス経由でJSONオブジェクトを渡しています。私はJSONの形式を制御しません。しかし、有効なJSONオブジェクトです:私はそこから値を表示できるように、私がする必要がどのようなAngle on JSONオブジェクトのドット表記を期待通りに機能しない

{ 
    "Template" : { 
     "Parameters" : { 
      "Name" : "Test", 
      "Version" : "1.0" 
     }, 
     "Fields" : { 
      "Field" : [{ 
        "Prompt" : "Last Name:" 
       }, { 
        "Prompt" : "First Name:" 
       }, { 
        "Prompt" : "Middle Name" 
       }, { 
        "Prompt" : "ID Number:" 
       } 
      ] 
     }, 
     "Captures" : { 
      "Capture" : [{ 
        "Prompt" : "Picture" 
       }, { 
        "Prompt" : "Picture from file" 
       }, { 
        "Prompt" : "Signature" 
       } 
      ] 
     } 
    } 
} 

は、オブジェクト内のフィールドのリストをループです。この例の場合、フィールドからプロンプト値のリストを印刷しようとしています。

http://jsfiddle.net/toddhd/0wbfpxkj/9/

<div ng-repeat="item in template.Fields.Field"> 
    {{item.Prompt}} 
    </div> 

これは、上記のJSFiddleを見て、はるかに良い説明されています。

私がやりたいことは、単にドット/ポイント表記を使用してフィールドのリストを取得している、など:

template.Fields.Field

しかし、それは私のために働いていません。この例では、各コレクションを1つずつループする一連のng-repeatsも作成しました。それがうまくいって、望ましい結果を生み出しますが、冗長で醜いです。

私は、JSONオブジェクト自体の構造や、そこに到達するための正しい点/点の表記法を誤解していると思います。しかし、私はそれを理解できないようです。あなたは見てみて、どこに間違っているのか教えていただけますか?それはちょうど別のTemplateを欠けている

+0

うーん...あなたのデータ構造が配列ではありません - それは多くの分野で、オブジェクトです。 obj "の' ng-repeat = "(k、v)を使ってオブジェクトを反復する - 正しい繰り返し構文を使っている:http://jsfiddle.net/0wbfpxkj/11/ – tymeJV

+0

詳細として外部リソースを使用しないでくださいあなたの質問の関連情報を編集して含める。 – Amit

答えて

4

ありがとうございました。 template.Template.Fields.Fieldである必要があります。

あなたのHTMLは次のようになります。

<div ng-repeat="item in template.Template.Fields.Field">{{item.Prompt}}</div> 
+0

ITが正しい解決策であるため、これがなぜ落とされたのか分かりません。あなたは答えを完成させるのにこの '

{{item.Prompt}}
'を追加することを検討します。 – Nasreddine

+0

@ Nasreddine - オブジェクトが動的に反復処理して配列を表示する方法をOPが尋ねたので、OPが尋ねられました。これは、ドリルダウンすると配列を反復する方法を示しています。 – tymeJV

+0

@Nasreddine答えを編集しました、ありがとう! –

関連する問題