3

.jsonファイル内のアイテムの数をカウントするための簡単なJSを探します(各アイテムは、この場合、Webアプリに取り込まれるInstagramの写真を表します。写真の数をカウントしたいと思います)。Jsonはこのように構成されています...

{
 "type":"FeatureCollection",
 "features":[
  {
     "type":"Feature",
     "geometry":{
        "coordinates":[
           -79.40916,
           43.87767
        ],
        "type":"Point"
     },
     "properties":{
        "longitude":-79.40916,
        "latitude":43.87767,
        "title":"",
        "user":"cmay2400",
        "id":"176051485697457528_13947894",
        "image":"http:\/\/distilleryimage0.instagram.com\/1d725a3a8d7511e181bd12313817987b_7.jpg",
        "images":{
           "low_resolution":{
              "url":"http:\/\/distilleryimage0.instagram.com\/1d725a3a8d7511e181bd12313817987b_6.jpg",
              "width":306,
              "height":306
           },
           "thumbnail":{
              "url":"http:\/\/distilleryimage0.instagram.com\/1d725a3a8d7511e181bd12313817987b_5.jpg",
              "width":150,
              "height":150
           },
           "standard_resolution":{
              "url":"http:\/\/distilleryimage0.instagram.com\/1d725a3a8d7511e181bd12313817987b_7.jpg",
              "width":612,
              "height":612
           }
        },
        "description":"Today's ride <span class=\"tag\">#zipcar<\/span>",
        "instagram_id":"13947894",
        "likes":1,
        "profile_picture":"http:\/\/images.instagram.com\/profiles\/profile_13947894_75sq_1322267355.jpg"
     }
  },
  {
     "type":"Feature", [...]

jsonファイルをループして、アイテムの数を数えたいだけです。どこから始めればいいのか完全に迷いました。

4

3 に答える 3

18

JSON文字列をオブジェクトに解析し、JavaScriptの他のオブジェクトと同じように使用します。

var o = JSON.parse(jsonstring);

alert(o.features.length); /* number of items in features array */
于 2012-06-27T15:40:11.953 に答える
0

これは多かれ少なかれあなたが探しているコードです:

var variable = jQuery.parseJSON( stringThatIsStoringJson );

for(var i=0;i<variable.features.length;i++) {
    doStuff(variable.features[i]);

    for(var j=0;j<variable.features[i].geometry.coordinates.length;j++) {
        doMoreStuff(variable.features[i].geometry.coordinates[j]);
    }
}

jQueryを使用していると仮定します。必要なライブラリを使用してJSONを解析できます。eval()XSSの脆弱性に対してサイトを開く、を避けてください。

于 2012-06-27T15:48:52.707 に答える
0

もちろん、最初にjson文字列をjsオブジェクトに変換する必要があります。使用するJSON.parse()か(IE6 \ 7はサポートされていません)、IE<8でサポートするためにCrockfordのJSON2パーサーを含めます。

var obj = JSON.parse(jsonstr);
// loop the obj to find out what you want

または、別の方法として、 jsonSelect(JSONのCSSのようなセレクター)やJSONPathのようなlibを使用してみて、次のようにデータを簡単に操作できます。

var reslut = JSONSelect.match('css selector', obj); 
于 2012-06-27T18:34:11.210 に答える