【JavaScript】jsにおけるJSONと配列の違い、JSONの遍歴

3215 ワード

1.JSONの下付き文字(索引)は文字列であり、配列の下付き文字(索引)は数字である.
<script>
        var json={a:2,b:8,c:10};
        var arr=[2,8,10];

        alert(json.a);
        //       alert(json['a']);    '.'   '[]'   
        alert(arr[0]);
        //        2
    script>

2.JSONはありません.length、配列にlengthがあります.
    alert(json.length)

        undefined;

だから、ここに問題があります.
JSONの遍歴.
配列遍歴は、forループ、length属性で遍歴できますが、JSONは何を遍歴しますか?
1.json用for inループ
<script>
        var json={a:2,b:8,c:10};
        var arr=[2,8,10];

        for( var i in json){
         alert(i+"    "+json[i]+"!)
        }
//    :

    //a    2!b    8!c    10!
    script>

2.jsonを借りる.parse()メソッド
jsonを借りるparse()メソッドは、jsonをオブジェクトに変換し、forループでループします.
$.ajax({
      type: "POST",
      url: "json.php",
      data: {'mession':'      json  !'},
      success: function(txt){
       json = JSON.parse(txt);//                ,   txt  function   
       alert(json.length);
       }
     }); 

上のjsonparseメソッドは一部のブラウザではサポートされていません.例えば、フロントエンドのプログラマーを驚かせた...IE 8!!!
上に政策があるので,私は対策がある.私たちはeval()メソッドと同じようにできます.方法はjsonに似ている.parse(); ただ
        json = JSON.parse(txt);
            //  
        json = eval(txt);

それでいいです.
でもでも、ここでちょっと.eval()メソッドの安全性はあまり高くありません.そのメカニズムは、すべての返されたデータを解析することです.ウイルスプログラムが悪意を持って攻撃されたとき、eval()も解析します.イメージの例を挙げると、evalは犬の中の二哈のように、盗みに来た人がいて、道を案内してくれます.json.parse()は相対的にずっといいです.
読んでくれてありがとう.