2013-04-03 76 views
0
$(document).ready(function() { 

      console.log(getJ()); 
      function getJ() { 
       $.getJSON('json.json', function(data) { 

        $.each(data, function(key, val) { 
         console.log(key); 

        }); 
       }); 

      } 

     }); 

json文件,上面一個我的HTML代碼和下面一個我json.json文件的代碼304未修改消息顯示當嘗試解析使用jQuery

{ 
    "message": { 
     "success":"Information inserted successfully.", 
     "update":"Information updated successfully.", 
     "delete":"Information deleted successfully.", 
    }, 
    "Jennifer": { 
     "status":"Active" 
    }, 
    "James": { 
     "status":"Active", 
     "age":56, 
     "count":10, 
     "progress":0.0029857, 
     "bad":0 
    } 
} 

當我試圖解析這一串代碼它顯示304消息,我沒有得到任何所需的結果。

+0

這意味着你的解析結果已經被緩存了 –

+0

如何解決這個問題。 –

+1

好的我找到了我的解決方案。在「刪除」行中:「信息已成功刪除」。有一個額外的逗號(,)導致我的問題,它顯示304消息。 –

回答

0

,因爲你的JSON是不是在陣列..你並不需要使用$.each ..直接與.

這裏

$.getJSON('json.json', function(data) { 

       console.log(data.message.success); //show Information inserted successfully. 
       console.log(data.Jennifer.status); //Active 
      }); 
+0

不知道你的意思是不需要使用_它不會工作,或者你不需要使用'each'。所以我只想提一提'jQuery.each'適用於_objects_和_arrays_。 –

+0

我的意思是說..你可以直接用'.'運算符來獲得你自己的json對象,而不使用'each'函數..因爲他的json對象不在數組中..我認爲直接得到它更好... :) :) ..反正更新我的答案... – bipen

0

得到它你可以做出獨特的網址:

$.getJSON('json.json?_=' + new Date().getTime(), function(data) { 
    $.each(data, function(key, val) { 
     console.log(key); 
    }); 
}); 

或使用$.ajax

$.ajax({ 
    url: 'json.json', 
    dataType: 'json', 
    cache: false, 
    success: function(data) { 
     // ... 
    } 
});