<script>
var json={s:[{ 
    id:'s2', 
    ss:[ 
        {id:'s2ss1',"字段A":'efg',"字段B":'123'}, 
        {id:'s2ss2',"字段A":'efg',"字段B":'123'} 
        ] 
  },{ 
    id:'s1', 
    ss:[ 
        {id:'s1ss2',"字段A":'efg',"字段B":'123'}, 
        {id:'s1ss1',"字段A":'efg',"字段B":'123'}, 
        ] 
}]} var j=json["s"].sort(function(a,b){return a["id"]>b["id"]?1:-1})
alert(json["s"][0].id);
alert(json["s"][1].id);
</script>

解决方案 »

  1.   

    var j=json["s"].sort(function(a,b){return a["id"]>b["id"]?1:-1})
    红色部分不需要赋值了
    直接这样json["s"].sort(function(a,b){return a["id"]>b["id"]?1:-1})
    json就按里面id排好序了
      

  2.   

    如果有相同ID,要按照原来的顺序,稳定排序就按下面写法:
    <script>
    var json={s:[{ 
        id:'s2', 
        ss:[ 
            {id:'s2ss1',"字段A":'efg',"字段B":'123'}, 
            {id:'s2ss2',"字段A":'efg',"字段B":'123'} 
            ] 
      },{ 
        id:'s1', 
        ss:[ 
            {id:'s1ss2',"字段A":'efg',"字段B":'123'}, 
            {id:'s1ss1',"字段A":'efg',"字段B":'123'}, 
            ] 
    },

        id:'s2', 
        ss:[ 
            {id:'s1ss3',"字段A":'efg',"字段B":'123'}, 
            {id:'s1ss1',"字段A":'efg',"字段B":'123'}, 
            ] 
    }]} json["s"].sort(
    function(a,b){return a["id"]>b["id"]?1:a["id"]==b["id"]?0:-1}
     )alert(json["s"][2]["ss"][0].id);
    </script>