わからなくて困っていたのでこちらで質問させていただきました。Ruby 1.8.7 と RoR 1.2.6 を使用しています。この JSON をレンダリングするコントローラーがあります。
{
  "form_id": "1",
  "form_structure": {
    "3": {
        "answer_required": "undefined",
        "title": "This is a radio group, right?",
        "cssClass": "radio",
        "values": {
            "4": {
                "value": "Yes",
                "baseline": "undefined"
            },
            "5": {
                "value": "No",
                "baseline": "undefined"
            },
            "7": {
                "value": "Maybe",
                "baseline": "undefined"
            },
            "20": {
                "value": "Test",
                "baseline": "undefined"
            }
        }
    }
  }
}
ご覧のとおり、「値」の下のオプションは、表の ID 順に並べられています。JSONで完璧に見えます。私がそれを使用JSON.parseすると、「値」の下のすべてがうまくいかず、次のように返されます。
{
  "form_id"=>"1",
  "form_structure"=>{
    "3"=>{
        "title"=>"This is a radio group, right?",
        "cssClass"=>"radio",
        "answer_required"=>"undefined",
        "values"=>{
            "7"=>{
                "baseline"=>"undefined",
                "value"=>"Maybe"
            },
            "20"=>{
                "baseline"=>"undefined",
                "value"=>"Test"
            },
            "4"=>{
                "baseline"=>"undefined",
                "value"=>"Yes"
            },
            "5"=>{
                "baseline"=>"undefined",
                "value"=>"No"
            }
        }
    }
  }
}
このコードは、私が作成しているフォームビルダーで使用されています。人が作成したフォーム要素が、作成した正しい順序で表示されないのは本当に良くありません。出力時またはその直前に順序を維持または並べ替えることができますか?