2016-11-05 14 views
0

ODATA SAPUI5アプリケーションでモックアップデータとしてネストされたJSONファイルを使用していますが、ネストされたデータにアクセスできません。ODATA SAPUI5モックアップ内のネストされたJSON

JSONは私のビューファイルで内容

[{ 
"testcase": {  
    "specification": "SRS PR 28717 – Deposit in Brazilian Reais", 
    "execution": { 
     "description": "DESC", 
     "bca_cn_acct_01": { 
      "header": { 
       "section": "Field/Section Name", 
       "data": "Data to Enter/Value to Select", 
       "action": "Activity/Check/Comment" 
      }, 
      "frame": { 
       "ID": 1, 
       "title": "Create Account: Initial Screen", 
       "data": [{ 
        "key": "Contract Start", 
        "value": "02/16/2000", 
        "action": "" 
       }, { 
        "key": "Contract Manager", 
        "value": "GH_RAMOSCL", 
        "action": "" 
       }, { 
        "key": "Product", 
        "value": "BR_IOFTC3", 
        "action": "" 
       }, { 
        "key": "Account Holder", 
        "value": "GH_IOF_COR", 
        "action": "Press Enter" 
       }] 
      } 

     } 
    }, 
    "result": "Teste" 
}}] 

、私はリストとして、タグ内のデータにアクセスしたい:

<core:View controllerName="sap.ui.demo.MockServer.controller.App" xmlns:core="sap.ui.core" xmlns:html="http://www.w3.org/1999/xhtml" 
xmlns="sap.m"> 
<!-- <List headerText="{i18n>headerText}" id="list" items="{/Meetups}" noDataText="{i18n>noDataText}"> 
    <items> 
     <ObjectListItem number="{ path: 'EventDate', type: 'sap.ui.model.type.DateTime', formatOptions: { style: 'medium' } }" title="{Title}"> 
      <attributes> 
       <ObjectAttribute text="{Description}"/> 
      </attributes> 
     </ObjectListItem> 
    </items> 
</List> 
<Button press="onPressAction" text="{i18n>loadFirstItems}"></Button> --> 
<List headerText="{i18n>headerText}" id="list" items="{/Meetups}" noDataText="{i18n>noDataText}"> 
    <items> 
     <ObjectListItem number="{ path: 'EventDate', type: 'sap.ui.model.type.DateTime', formatOptions: { style: 'medium' } }" 
      title="{testcase/execution/description}"> 
      <attributes> 
       <ObjectAttribute text="{specification}"/> 
      </attributes> 
     </ObjectListItem> 
    </items> 
</List> 
<Table id="table" items="{/Meetups}"> 
    <columns> 
     <Column width="12em"> 
      <Text text="Field/Section Name"/> 
     </Column> 
     <Column minScreenWidth="Tablet" demandPopin="true"> 
      <Text text="Data to Enter/Value to Select"/> 
     </Column> 
     <Column minScreenWidth="Tablet" demandPopin="true"> 
      <Text text="Activity/Check/Comment"/> 
     </Column> 
    </columns> 
    <items> 
     <ColumnListItem> 
      <cells> 
       <ObjectIdentifier title="{testcase/execution/bca_cn_acct_01/frame/data/key}" class="sapMTableContentMargin"/> 
       <!-- <Text text="{testcase/execution/bca_cn_acct_01/bca_dte_event_begin_d}" /> --> 
       <Text text="{testcase/execution/bca_cn_acct_01/frame/data/value}"/> 
      </cells> 
     </ColumnListItem> 
    </items> 
</Table> 
<Button press="onPressAction" text="{i18n>loadFirstItems}"></Button> 

しかし、フィールドからデータキーと値はリストとして取得されませんが、JSONデータタグ内の配列です。

私はベースとしてSAPUI5ライブラリからのサンプルチュートリアルを使用

https://sapui5.hana.ondemand.com/#docs/guide/7a78f1b707c248fd9ec53dcb5f10814c.html

そして、あなたは、私が使用しているメタデータファイルを見つけることができます以下:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<edmx:Edmx Version="1.0" 
    xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"> 
    <edmx:DataServices 
     xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="1.0"> 
     <Schema Namespace="NerdMeetup.Models" 
      xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" 
      xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" 
      xmlns="http://schemas.microsoft.com/ado/2006/04/edm">    
      <EntityType Name="Meetup">     
       <ComplexType Name="testcase"> 
        <ComplexType Name="execution"> 
         <!-- Create Payment Item --> 
         <ComplexType Name="bca_cn_acct_01"> 
          <ComplexType Name="header"> 
           <Property Name="section" Type="Edm.String" Nullable="false" /> 
           <Property Name="data" Type="Edm.String" Nullable="false" /> 
           <Property Name="action" Type="Edm.String" Nullable="false" /> 
          </ComplexType> 
          <ComplexType Name="frame"> 
           <Property Name="ID" Type="Edm.Int32" Nullable="false" /> 
           <Property Name="title" Type="Edm.String" Nullable="false" /> 
           <ComplexType Name="data"> 
            <Property Name="key" Type="Edm.Int32" Nullable="false" /> 
            <Property Name="value" Type="Edm.Int32" Nullable="false" /> 
            <Property Name="action" Type="Edm.Int32" Nullable="true" /> 
           </ComplexType> 
          </ComplexType> 
          <Property Name="bca_dte_event_begin_d" Type="Edm.String" Nullable="false" /> 
          <Property Name="bca_dte_orgunit_cnmgt" Type="Edm.String" Nullable="false" /> 
          <Property Name="fspr_prodext_y" Type="Edm.String" Nullable="false" /> 
          <Property Name="bca_dte_bupa_acchold" Type="Edm.String" Nullable="false" /> 
         </ComplexType> 
        </ComplexType> 
        <Property Name="specification" Type="Edm.String" Nullable="true" /> 
       </ComplexType>    
      </EntityType> 
      <EntityContainer Name="NerdMeetups" m:IsDefaultEntityContainer="true"> 
       <EntitySet Name="Meetups" EntityType="NerdMeetup.Models.Meetup" /> 
       <FunctionImport Name="FindUpcomingMeetups" EntitySet="Meetups" ReturnType="Collection(NerdMeetup.Models.Meetup)" m:HttpMethod="GET" /> 
      </EntityContainer> 
     </Schema> 
    </edmx:DataServices> 
</edmx:Edmx> 

任意のアイデア?

抱擁

+1

サンプルコードを確認できますか?リストにitems = "{/ Meetups}"が表示されますが、JSONに 'meetups'というノードはありません。サンプルを準備しているときにこれが編集エラーでなかったら、おそらくこれが問題ですか?同様にbjectListItemパスのパス: 'EventDate'が間違っているようです。全体的に私はあなたの質問がこの段階では不明であると言います。 –

+0

元の投稿にいくつかの新しい情報を追加しました。 –

答えて

0

私はあなたが全体の配列に結合するかを推測:あなたはまた、受信するフォーマッタを使用することができ

{testcase/execution/bca_cn_acct_01/frame/data/0/key} 

{testcase/execution/bca_cn_acct_01/frame/data/} 

または配列の特定の要素をバインドします配列と配列のすべてのキーを連結します。 Formatter SAPUI5 documentation

+0

こんにちはRoggia 最初のオプションは機能せず、2番目のオプション(/ 0 /)は動作しますが、その静的な性質のため、既存のエントリの数に基づいて内容を抽出できません。 –

関連する問題