2017-10-20 16 views
0

私はhandlebars.jsで解析しているJSONデータを持っています しかし、出力は正確には同じ順序ではありませんjson。 マイJSONコード:Handlebars.js/JSON Parse:jsonから解析されたデータの順序が正しくありません

"RiskModel":{ 
     "RiskModel":[ 
      { 
        "ScoreFactors":{ 
        "34":"Total of all balances on bankcard or revolving accounts is too high", 
        "12":"The date that you opened your oldest account is too recent", 
        "39":"Available credit on your open bankcard or revolving accounts is too low", 
        "04":"The balances on your accounts are too high compared to loan amounts" 
       } 
      } 
     ] 
     } 

マイHTMLコード:

{{#arf.RiskModel.RiskModel}} 
{{#each ScoreFactors}} 
<li>{{this}} </li> 
    {{/each }} 
{{/arf.RiskModel.RiskModel}} 

私の出力は以下の通りである:

THE DATE THAT YOU OPENED YOUR OLDEST ACCOUNT IS TOO RECENT 
TOTAL OF ALL BALANCES ON BANKCARD OR REVOLVING ACCOUNTS IS TOO HIGH 
AVAILABLE CREDIT ON YOUR OPEN BANKCARD OR REVOLVING ACCOUNTS IS TOO LOW 
THE BALANCES ON YOUR ACCOUNTS ARE TOO HIGH COMPARED TO LOAN AMOUNTS 

"12" の値が最初に "34" の値が表示されます。

なぜわからないのですか?

理由を知ることができますか?

どうすればこの問題を解決できますか?

アレイに変換した後に編集されたように編集されました: 私は以前と同じ出力を得ています。 output after converting obj into array

+0

[ScoreFactors]:[{"スコア": "12"、 "テキスト": "テキスト"}、{...}、{...}]にJSONを再構成できますか? – Chad

+0

@Chad私はこのjsonをajax呼び出しから取得しています。 – JSnewbie

+0

@ChadどのようにJSONを再構築できますか?あなたはそれで私を助けることができますか? – JSnewbie

答えて

0

ScoreFactorsは、「34」、「12」、「39」、「04」の4つのプロパティを持つjavascriptオブジェクトです。 javascriptオブジェクトのプロパティには順序がありません。そのため、オブジェクトを繰り返し処理するときに、他の人が4つの文の別の順序を取得することさえあります。

「ScoreFactors」:[
は「銀行カードまたはリボルビングアカウント上のすべての残高の合計が高すぎる」、 「日付

  • あなたがそのままの順序を保持する配列を、使用する必要がありますあなたのアカウントの残高は、融資額 『 ]

  • に比べて高すぎる、あなたの最も古いアカウントがあまりにも最近で開かれていること」、 『開いている銀行カードまたはリボルビングアカウントで利用可能なクレジットが低すぎる』、 』 10

    また、あなたは、配列内のオブジェクトを使用する必要があり、数値が必要な場合:

    「ScoreFactors」:[
    {「NUM」:「34」、「テキスト」:「すべての残高の合計銀行カードにあなたの最も古いアカウントを開いた日付が最近のものです}}、 {"num": "39"、 "text": "text" ":"開いている銀行カードまたは回転口座の残高が低すぎます "}、 {" num ":" 04 "、" text ":"アカウントの残高がローン金額に比べて高すぎます "} ]

    <li>{{num}} {{text}} </li>

+0

あなたは私にjs fiddleの例を挙げることができますか?handlebars.jsの配列を使ってjsonより上でどのように変更できますか? 数値の値は必要ありません。 – JSnewbie

+0

これは機能しません。編集したコードと出力を確認してください – JSnewbie

+0

"ScoreFactors"を配列にするオブジェクトから変更する: https://jsfiddle.net/veraee/fg4srjo5/5/ –

関連する問題